Re: [PATCH v2 8/8] ARM: bcm2835: Add Kconfig support for bcm2836

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





Den 17.12.2015 00:55, skrev Eric Anholt:
This should be a complete port of bcm2835 functionality to bcm2836
(Raspberry Pi 2).

Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>
---

v2: Implement Arnd's feedback to not split to ARCH_BCM2836, and
     instead use more conditionals in ARCH_BCM2835.  Also reduce diff
     between 2835 and 2836.

  arch/arm/Kconfig.debug     | 10 ++++++++--
  arch/arm/boot/dts/Makefile |  3 ++-
  arch/arm/mach-bcm/Kconfig  |  8 ++++----
  3 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 259c0ca..957b876 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -143,7 +143,12 @@ choice
config DEBUG_BCM2835
  		bool "Kernel low-level debugging on BCM2835 PL011 UART"
-		depends on ARCH_BCM2835
+		depends on ARCH_BCM2835 && ARCH_MULTI_V6
+		select DEBUG_UART_PL01X
+
+	config DEBUG_BCM2836
+		bool "Kernel low-level debugging on BCM2836 PL011 UART"
+		depends on ARCH_BCM2835 && ARCH_MULTI_V7
  		select DEBUG_UART_PL01X
config DEBUG_BCM_5301X
@@ -1402,6 +1407,7 @@ config DEBUG_UART_PHYS
  	default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
  	default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
  	default 0x20201000 if DEBUG_BCM2835
+	default 0x3f201000 if DEBUG_BCM2836
  	default 0x3e000000 if DEBUG_BCM_KONA_UART
  	default 0x4000e400 if DEBUG_LL_UART_EFM32
  	default 0x40081000 if DEBUG_LPC18XX_UART0
@@ -1485,7 +1491,7 @@ config DEBUG_UART_VIRT
  	default 0xf0000be0 if ARCH_EBSA110
  	default 0xf0010000 if DEBUG_ASM9260_UART
  	default 0xf01fb000 if DEBUG_NOMADIK_UART
-	default 0xf0201000 if DEBUG_BCM2835
+	default 0xf0201000 if DEBUG_BCM2835 || DEBUG_BCM2836

This results in a BUG on Pi2 (bcm2836) because the address ends up in the
8MB VMALLOC_OFFSET "hole" between lowmem and vmalloc:

BUG: mapping for 0x3f201000 at 0xf0201000 out of vmalloc space
...
    vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
    lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)

Moving the address a bit should work for both (tested on 2836):
        default 0xf1201000 if DEBUG_BCM2835 || DEBUG_BCM2836

For reference this is the default memory configuration on Pi1 (bcm2835):
    vmalloc : 0xdc800000 - 0xff800000   ( 560 MB)
    lowmem  : 0xc0000000 - 0xdc000000   ( 448 MB)


Noralf.

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux