Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1293403 > unrolled thread

[PATCH v2 0/8] Raspberry Pi 2 support.

Started byEric Anholt <eric@anholt.net>
First post2015-12-17 01:00 +0100
Last post2015-12-25 01:10 +0100
Articles 20 on this page of 27 — 7 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH v2 0/8] Raspberry Pi 2 support. Eric Anholt <eric@anholt.net> - 2015-12-17 01:00 +0100
    [PATCH v2 8/8] ARM: bcm2835: Add Kconfig support for bcm2836 Eric Anholt <eric@anholt.net> - 2015-12-17 01:00 +0100
      Re: [PATCH v2 8/8] ARM: bcm2835: Add Kconfig support for bcm2836 Eric Anholt <eric@anholt.net> - 2015-12-26 23:40 +0100
    [PATCH v2 5/8] ARM: bcm2835: Move the CPU/peripheral include out of common RPi DT. Eric Anholt <eric@anholt.net> - 2015-12-17 01:00 +0100
    [PATCH v2 1/8] irq: bcm2836: Fix initialization of the LOCAL_IRQ_CNT*IRQ timers Eric Anholt <eric@anholt.net> - 2015-12-17 01:00 +0100
    [PATCH v2 3/8] dt-bindings: Add root properties for Raspberry Pi 2 Eric Anholt <eric@anholt.net> - 2015-12-17 01:00 +0100
      Re: [PATCH v2 3/8] dt-bindings: Add root properties for Raspberry Pi  2 Rob Herring <robh@kernel.org> - 2015-12-19 05:20 +0100
    [PATCH v2 2/8] irq: bcm2836: Add SMP support for the 2836 Eric Anholt <eric@anholt.net> - 2015-12-17 01:00 +0100
      Re: [PATCH v2 2/8] irq: bcm2836: Add SMP support for the 2836 Baruch Siach <baruch@tkos.co.il> - 2015-12-17 06:30 +0100
    [PATCH v2 6/8] ARM: bcm2835: Add devicetree for bcm2836 and Raspberry Pi 2 B Eric Anholt <eric@anholt.net> - 2015-12-17 01:00 +0100
      Re: [PATCH v2 6/8] ARM: bcm2835: Add devicetree for bcm2836 and  Raspberry Pi 2 B Alexander Aring <alex.aring@gmail.com> - 2015-12-22 11:20 +0100
    [PATCH v2 7/8] ARM: bcm2835: Add a compat string for bcm2836 machine probe Eric Anholt <eric@anholt.net> - 2015-12-17 01:00 +0100
    Re: [PATCH v2 0/8] Raspberry Pi 2 support. Arnd Bergmann <arnd@arndb.de> - 2015-12-17 01:10 +0100
      Re: [PATCH v2 0/8] Raspberry Pi 2 support. Eric Anholt <eric@anholt.net> - 2015-12-17 01:40 +0100
        Re: [PATCH v2 0/8] Raspberry Pi 2 support. Stefan Wahren <stefan.wahren@i2se.com> - 2015-12-17 10:00 +0100
          Re: [PATCH v2 0/8] Raspberry Pi 2 support. Arnd Bergmann <arnd@arndb.de> - 2015-12-17 11:30 +0100
    Re: [PATCH v2 0/8] Raspberry Pi 2 support. Alexander Aring <alex.aring@gmail.com> - 2015-12-18 11:10 +0100
      Re: [PATCH v2 0/8] Raspberry Pi 2 support. Alexander Aring <alex.aring@gmail.com> - 2015-12-18 12:00 +0100
      Re: [PATCH v2 0/8] Raspberry Pi 2 support. Alexander Aring <alex.aring@gmail.com> - 2015-12-20 23:20 +0100
        Re: [PATCH v2 0/8] Raspberry Pi 2 support. Eric Anholt <eric@anholt.net> - 2015-12-22 00:10 +0100
          Re: [PATCH v2 0/8] Raspberry Pi 2 support. Alexander Aring <alex.aring@gmail.com> - 2015-12-22 15:30 +0100
            Re: [PATCH v2 0/8] Raspberry Pi 2 support. Eric Anholt <eric@anholt.net> - 2015-12-22 20:10 +0100
              Re: [PATCH v2 0/8] Raspberry Pi 2 support. Noralf Trønnes <noralf@tronnes.org> - 2015-12-26 22:50 +0100
        Re: [PATCH v2 0/8] Raspberry Pi 2 support. Arnd Bergmann <arnd@arndb.de> - 2015-12-22 00:20 +0100
          Re: [PATCH v2 0/8] Raspberry Pi 2 support. Alexander Aring <alex.aring@gmail.com> - 2015-12-22 15:30 +0100
            Re: [PATCH v2 0/8] Raspberry Pi 2 support. Arnd Bergmann <arnd@arndb.de> - 2015-12-22 22:30 +0100
              Re: [PATCH v2 0/8] Raspberry Pi 2 support. Eric Anholt <eric@anholt.net> - 2015-12-25 01:10 +0100

Page 1 of 2  [1] 2  Next page →


#1293403 — [PATCH v2 0/8] Raspberry Pi 2 support.

FromEric Anholt <eric@anholt.net>
Date2015-12-17 01:00 +0100
Subject[PATCH v2 0/8] Raspberry Pi 2 support.
Message-ID<qGu9c-8tX-3@gated-at.bofh.it>
This is a major rewrite of the previous Raspberry Pi 2 submission.
SMP support is now included, and the DT includes are cleaned up to
avoid massive duplication.

The branch (based on 4.4-rc5, to get the USB regression fixes) can be
found at:

https://github.com/anholt/linux/tree/bcm2836-4.4

Andrea Merello (1):
  irq: bcm2836: Add SMP support for the 2836

Eric Anholt (7):
  irq: bcm2836: Fix initialization of the LOCAL_IRQ_CNT*IRQ timers
  dt-bindings: Add root properties for Raspberry Pi 2
  ARM: bcm2835: Split the DT for peripherals from the DT for the CPU
  ARM: bcm2835: Move the CPU/peripheral include out of common RPi DT.
  ARM: bcm2835: Add devicetree for bcm2836 and Raspberry Pi 2 B
  ARM: bcm2835: Add a compat string for bcm2836 machine probe
  ARM: bcm2835: Add Kconfig support for bcm2836

 .../devicetree/bindings/arm/bcm/brcm,bcm2835.txt   |   4 +
 arch/arm/Kconfig.debug                             |  10 +-
 arch/arm/boot/dts/Makefile                         |   3 +-
 arch/arm/boot/dts/bcm2835-rpi-a-plus.dts           |   1 +
 arch/arm/boot/dts/bcm2835-rpi-b-plus.dts           |   1 +
 arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts           |   1 +
 arch/arm/boot/dts/bcm2835-rpi-b.dts                |   1 +
 arch/arm/boot/dts/bcm2835-rpi.dtsi                 |   2 -
 arch/arm/boot/dts/bcm2835.dtsi                     | 194 +--------------------
 ...{bcm2835-rpi-b-plus.dts => bcm2836-rpi-2-b.dts} |   9 +-
 arch/arm/boot/dts/bcm2836.dtsi                     |  77 ++++++++
 arch/arm/boot/dts/{bcm2835.dtsi => bcm283x.dtsi}   |   7 +-
 arch/arm/mach-bcm/Kconfig                          |   8 +-
 arch/arm/mach-bcm/board_bcm2835.c                  |   5 +
 drivers/irqchip/irq-bcm2836.c                      |  53 +++++-
 15 files changed, 168 insertions(+), 208 deletions(-)
 copy arch/arm/boot/dts/{bcm2835-rpi-b-plus.dts => bcm2836-rpi-2-b.dts} (72%)
 create mode 100644 arch/arm/boot/dts/bcm2836.dtsi
 copy arch/arm/boot/dts/{bcm2835.dtsi => bcm283x.dtsi} (96%)

-- 
2.6.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1293404 — [PATCH v2 8/8] ARM: bcm2835: Add Kconfig support for bcm2836

FromEric Anholt <eric@anholt.net>
Date2015-12-17 01:00 +0100
Subject[PATCH v2 8/8] ARM: bcm2835: Add Kconfig support for bcm2836
Message-ID<qGu9c-8tX-5@gated-at.bofh.it>
In reply to#1293403
This should be a complete port of bcm2835 functionality to bcm2836
(Raspberry Pi 2).

Signed-off-by: Eric Anholt <eric@anholt.net>
---

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
 	default 0xf1000300 if DEBUG_BCM_5301X
 	default 0xf1002000 if DEBUG_MT8127_UART0
 	default 0xf1006000 if DEBUG_MT6589_UART0
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 30bbc37..54e8f6b 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -60,7 +60,8 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
 	bcm2835-rpi-b.dtb \
 	bcm2835-rpi-b-rev2.dtb \
 	bcm2835-rpi-b-plus.dtb \
-	bcm2835-rpi-a-plus.dtb
+	bcm2835-rpi-a-plus.dtb \
+	bcm2836-rpi-2-b.dtb
 dtb-$(CONFIG_ARCH_BCM_5301X) += \
 	bcm4708-asus-rt-ac56u.dtb \
 	bcm4708-asus-rt-ac68u.dtb \
diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig
index 8c53c55..d7cada9 100644
--- a/arch/arm/mach-bcm/Kconfig
+++ b/arch/arm/mach-bcm/Kconfig
@@ -122,17 +122,17 @@ config ARCH_BCM_MOBILE_SMP
 comment "Other Architectures"
 
 config ARCH_BCM2835
-	bool "Broadcom BCM2835 family" if ARCH_MULTI_V6
+	bool "Broadcom BCM2835 family" if ARCH_MULTI_V6 || ARCH_MULTI_V7
 	select ARCH_REQUIRE_GPIOLIB
 	select ARM_AMBA
-	select ARM_ERRATA_411920
+	select ARM_ERRATA_411920 if ARCH_MULTI_V6
 	select ARM_TIMER_SP804
 	select CLKSRC_OF
 	select PINCTRL
 	select PINCTRL_BCM2835
 	help
-	  This enables support for the Broadcom BCM2835 SoC. This SoC is
-	  used in the Raspberry Pi and Roku 2 devices.
+	  This enables support for the Broadcom BCM2835 and BCM2836 SoCs.
+	  This SoC is used in the Raspberry Pi and Roku 2 devices.
 
 config ARCH_BCM_63XX
 	bool "Broadcom BCM63xx DSL SoC" if ARCH_MULTI_V7
-- 
2.6.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


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

FromEric Anholt <eric@anholt.net>
Date2015-12-26 23:40 +0100
SubjectRe: [PATCH v2 8/8] ARM: bcm2835: Add Kconfig support for bcm2836
Message-ID<qK5Ff-6Rn-7@gated-at.bofh.it>
In reply to#1293404

[Multipart message — attachments visible in raw view] — view raw

Eric Anholt <eric@anholt.net> writes:

> This should be a complete port of bcm2835 functionality to bcm2836
> (Raspberry Pi 2).
>
> Signed-off-by: Eric Anholt <eric@anholt.net>
> ---
>
> 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(-)

I noticed a minor bug in this commit, that the dts/Makefile hunk should
be in the Pi2 DT patch, instead.  Otherwise the -soc branch for
submitting this doesn't build on its own before the merge of all the
branches together.

[toc] | [prev] | [next] | [standalone]


#1293406 — [PATCH v2 5/8] ARM: bcm2835: Move the CPU/peripheral include out of common RPi DT.

FromEric Anholt <eric@anholt.net>
Date2015-12-17 01:00 +0100
Subject[PATCH v2 5/8] ARM: bcm2835: Move the CPU/peripheral include out of common RPi DT.
Message-ID<qGu9c-8tX-11@gated-at.bofh.it>
In reply to#1293403
For Raspberry Pi 2, we want to use the same general pin assignment
bits, but need to use bcm2836.dtsi for the CPU instead.

Signed-off-by: Eric Anholt <eric@anholt.net>
---
 arch/arm/boot/dts/bcm2835-rpi-a-plus.dts | 1 +
 arch/arm/boot/dts/bcm2835-rpi-b-plus.dts | 1 +
 arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts | 1 +
 arch/arm/boot/dts/bcm2835-rpi-b.dts      | 1 +
 arch/arm/boot/dts/bcm2835-rpi.dtsi       | 2 --
 5 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
index b2bff43..228614f 100644
--- a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
+++ b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
@@ -1,4 +1,5 @@
 /dts-v1/;
+#include "bcm2835.dtsi"
 #include "bcm2835-rpi.dtsi"
 
 / {
diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
index 668442b..ef54050 100644
--- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
+++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
@@ -1,4 +1,5 @@
 /dts-v1/;
+#include "bcm2835.dtsi"
 #include "bcm2835-rpi.dtsi"
 
 / {
diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
index eab8b591..86f1f2f 100644
--- a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
+++ b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
@@ -1,4 +1,5 @@
 /dts-v1/;
+#include "bcm2835.dtsi"
 #include "bcm2835-rpi.dtsi"
 
 / {
diff --git a/arch/arm/boot/dts/bcm2835-rpi-b.dts b/arch/arm/boot/dts/bcm2835-rpi-b.dts
index ff6b2d1..4859e9d 100644
--- a/arch/arm/boot/dts/bcm2835-rpi-b.dts
+++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts
@@ -1,4 +1,5 @@
 /dts-v1/;
+#include "bcm2835.dtsi"
 #include "bcm2835-rpi.dtsi"
 
 / {
diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi
index 3572f03..3afb9fe 100644
--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
@@ -1,5 +1,3 @@
-#include "bcm2835.dtsi"
-
 / {
 	memory {
 		reg = <0 0x10000000>;
-- 
2.6.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1293407 — [PATCH v2 1/8] irq: bcm2836: Fix initialization of the LOCAL_IRQ_CNT*IRQ timers

FromEric Anholt <eric@anholt.net>
Date2015-12-17 01:00 +0100
Subject[PATCH v2 1/8] irq: bcm2836: Fix initialization of the LOCAL_IRQ_CNT*IRQ timers
Message-ID<qGu9c-8tX-9@gated-at.bofh.it>
In reply to#1293403
The irqchip's register area includes the the setup for the timer's
scaling factors, and for the platform we want a fixed configuration of
these registers.

Signed-off-by: Eric Anholt <eric@anholt.net>
---
 drivers/irqchip/irq-bcm2836.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/drivers/irqchip/irq-bcm2836.c b/drivers/irqchip/irq-bcm2836.c
index f687082..6ec125e 100644
--- a/drivers/irqchip/irq-bcm2836.c
+++ b/drivers/irqchip/irq-bcm2836.c
@@ -21,6 +21,9 @@
 #include <linux/irqdomain.h>
 #include <asm/exception.h>
 
+#define LOCAL_CONTROL			0x000
+#define LOCAL_PRESCALER			0x008
+
 /*
  * The low 2 bits identify the CPU that the GPU IRQ goes to, and the
  * next 2 bits identify the CPU that the GPU FIQ goes to.
@@ -237,6 +240,27 @@ bcm2836_arm_irqchip_smp_init(void)
 #endif
 }
 
+/*
+ * The LOCAL_IRQ_CNT* timer firings are based off of the external
+ * oscillator with some scaling.  The firmware sets up CNTFRQ to
+ * report 19.2Mhz, but doesn't set up the scaling registers.
+ */
+static void bcm2835_init_local_timer_frequency(void)
+{
+	/*
+	 * Set the timer to source from the 19.2Mhz crystal clock (bit
+	 * 8 unset), and only increment by 1 instead of 2 (bit 9
+	 * unset).
+	 */
+	writel(0, intc.base + LOCAL_CONTROL);
+
+	/*
+	 * Set the timer prescaler to 1:1 (timer freq = input freq *
+	 * 2**31 / prescaler)
+	 */
+	writel(0x80000000, intc.base + LOCAL_PRESCALER);
+}
+
 static int __init bcm2836_arm_irqchip_l1_intc_of_init(struct device_node *node,
 						      struct device_node *parent)
 {
@@ -246,6 +270,8 @@ static int __init bcm2836_arm_irqchip_l1_intc_of_init(struct device_node *node,
 			node->full_name);
 	}
 
+	bcm2835_init_local_timer_frequency();
+
 	intc.domain = irq_domain_add_linear(node, LAST_IRQ + 1,
 					    &bcm2836_arm_irqchip_intc_ops,
 					    NULL);
-- 
2.6.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1293408 — [PATCH v2 3/8] dt-bindings: Add root properties for Raspberry Pi 2

FromEric Anholt <eric@anholt.net>
Date2015-12-17 01:00 +0100
Subject[PATCH v2 3/8] dt-bindings: Add root properties for Raspberry Pi 2
Message-ID<qGu9d-8tX-17@gated-at.bofh.it>
In reply to#1293403
Signed-off-by: Eric Anholt <eric@anholt.net>
---
 Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt b/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt
index c78576b..11d3056 100644
--- a/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt
+++ b/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt
@@ -26,6 +26,10 @@ Raspberry Pi Model B+
 Required root node properties:
 compatible = "raspberrypi,model-b-plus", "brcm,bcm2835";
 
+Raspberry Pi 2 Model B
+Required root node properties:
+compatible = "raspberrypi,2-model-b", "brcm,bcm2836";
+
 Raspberry Pi Compute Module
 Required root node properties:
 compatible = "raspberrypi,compute-module", "brcm,bcm2835";
-- 
2.6.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1295287 — Re: [PATCH v2 3/8] dt-bindings: Add root properties for Raspberry Pi 2

FromRob Herring <robh@kernel.org>
Date2015-12-19 05:20 +0100
SubjectRe: [PATCH v2 3/8] dt-bindings: Add root properties for Raspberry Pi 2
Message-ID<qHh9T-6J4-9@gated-at.bofh.it>
In reply to#1293408
On Wed, Dec 16, 2015 at 03:55:10PM -0800, Eric Anholt wrote:
> Signed-off-by: Eric Anholt <eric@anholt.net>
> ---
>  Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt | 4 ++++
>  1 file changed, 4 insertions(+)

Acked-by: Rob Herring <robh@kernel.org>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1293409 — [PATCH v2 2/8] irq: bcm2836: Add SMP support for the 2836

FromEric Anholt <eric@anholt.net>
Date2015-12-17 01:00 +0100
Subject[PATCH v2 2/8] irq: bcm2836: Add SMP support for the 2836
Message-ID<qGu9c-8tX-13@gated-at.bofh.it>
In reply to#1293403
From: Andrea Merello <andrea.merello@gmail.com>

The firmware sets the secondaries spinning waiting for a non-NULL
value to show up in the last IPI mailbox.

The original SMP port from the downstream tree was done by Andrea, and
Eric cleaned it up/rewrote it a few times from there.

Signed-off-by: Andrea Merello <andrea.merello@gmail.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
---
 drivers/irqchip/irq-bcm2836.c | 27 +++++++++++++++++++++++++--
 1 file changed, 25 insertions(+), 2 deletions(-)

diff --git a/drivers/irqchip/irq-bcm2836.c b/drivers/irqchip/irq-bcm2836.c
index 6ec125e..c5ef4df 100644
--- a/drivers/irqchip/irq-bcm2836.c
+++ b/drivers/irqchip/irq-bcm2836.c
@@ -53,14 +53,16 @@
 /* Same status bits as above, but for FIQ. */
 #define LOCAL_FIQ_PENDING0		0x070
 /*
- * Mailbox0 write-to-set bits.  There are 16 mailboxes, 4 per CPU, and
+ * Mailbox write-to-set bits.  There are 16 mailboxes, 4 per CPU, and
  * these bits are organized by mailbox number and then CPU number.  We
  * use mailbox 0 for IPIs.  The mailbox's interrupt is raised while
  * any bit is set.
  */
 #define LOCAL_MAILBOX0_SET0		0x080
-/* Mailbox0 write-to-clear bits. */
+#define LOCAL_MAILBOX3_SET0		0x08c
+/* Mailbox write-to-clear bits. */
 #define LOCAL_MAILBOX0_CLR0		0x0c0
+#define LOCAL_MAILBOX3_CLR0		0x0cc
 
 #define LOCAL_IRQ_CNTPSIRQ	0
 #define LOCAL_IRQ_CNTPNSIRQ	1
@@ -226,6 +228,26 @@ static const struct irq_domain_ops bcm2836_arm_irqchip_intc_ops = {
 	.xlate = irq_domain_xlate_onecell
 };
 
+#ifdef CONFIG_SMP
+int __init bcm2836_smp_boot_secondary(unsigned int cpu,
+				      struct task_struct *idle)
+{
+	unsigned long secondary_startup_phys =
+		(unsigned long)virt_to_phys((void *)secondary_startup);
+
+	dsb();
+	writel(secondary_startup_phys,
+	       intc.base + LOCAL_MAILBOX3_SET0 + 16 * cpu);
+
+	return 0;
+}
+
+static const struct smp_operations bcm2836_smp_ops __initconst = {
+	.smp_boot_secondary	= bcm2836_smp_boot_secondary,
+};
+
+#endif
+
 static void
 bcm2836_arm_irqchip_smp_init(void)
 {
@@ -237,6 +259,7 @@ bcm2836_arm_irqchip_smp_init(void)
 	register_cpu_notifier(&bcm2836_arm_irqchip_cpu_notifier);
 
 	set_smp_cross_call(bcm2836_arm_irqchip_send_ipi);
+	smp_set_ops(&bcm2836_smp_ops);
 #endif
 }
 
-- 
2.6.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1293624 — Re: [PATCH v2 2/8] irq: bcm2836: Add SMP support for the 2836

FromBaruch Siach <baruch@tkos.co.il>
Date2015-12-17 06:30 +0100
SubjectRe: [PATCH v2 2/8] irq: bcm2836: Add SMP support for the 2836
Message-ID<qGziz-3tt-19@gated-at.bofh.it>
In reply to#1293409
Hi Eric,

On Wed, Dec 16, 2015 at 03:55:09PM -0800, Eric Anholt wrote:
> @@ -226,6 +228,26 @@ static const struct irq_domain_ops bcm2836_arm_irqchip_intc_ops = {
>  	.xlate = irq_domain_xlate_onecell
>  };
>  
> +#ifdef CONFIG_SMP

Why not put this section under the existing '#ifdef CONFIG_SMP' just a few 
lines above?

> +int __init bcm2836_smp_boot_secondary(unsigned int cpu,
> +				      struct task_struct *idle)
> +{
> +	unsigned long secondary_startup_phys =
> +		(unsigned long)virt_to_phys((void *)secondary_startup);
> +
> +	dsb();
> +	writel(secondary_startup_phys,
> +	       intc.base + LOCAL_MAILBOX3_SET0 + 16 * cpu);
> +
> +	return 0;
> +}
> +
> +static const struct smp_operations bcm2836_smp_ops __initconst = {
> +	.smp_boot_secondary	= bcm2836_smp_boot_secondary,
> +};
> +
> +#endif

baruch

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch@tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1293410 — [PATCH v2 6/8] ARM: bcm2835: Add devicetree for bcm2836 and Raspberry Pi 2 B

FromEric Anholt <eric@anholt.net>
Date2015-12-17 01:00 +0100
Subject[PATCH v2 6/8] ARM: bcm2835: Add devicetree for bcm2836 and Raspberry Pi 2 B
Message-ID<qGu9d-8tX-21@gated-at.bofh.it>
In reply to#1293403
The Pi 2 B ends up like a Pi 1 B+, with the same peripherals and
pinout, but the CPU and memory layout changed to use the 2836.

Signed-off-by: Eric Anholt <eric@anholt.net>
---
 arch/arm/boot/dts/bcm2836-rpi-2-b.dts | 35 ++++++++++++++++
 arch/arm/boot/dts/bcm2836.dtsi        | 77 +++++++++++++++++++++++++++++++++++
 2 files changed, 112 insertions(+)
 create mode 100644 arch/arm/boot/dts/bcm2836-rpi-2-b.dts
 create mode 100644 arch/arm/boot/dts/bcm2836.dtsi

diff --git a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
new file mode 100644
index 0000000..ff94666
--- /dev/null
+++ b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
@@ -0,0 +1,35 @@
+/dts-v1/;
+#include "bcm2836.dtsi"
+#include "bcm2835-rpi.dtsi"
+
+/ {
+	compatible = "raspberrypi,2-model-b", "brcm,bcm2836";
+	model = "Raspberry Pi 2 Model B";
+
+	memory {
+		reg = <0 0x40000000>;
+	};
+
+	leds {
+		act {
+			gpios = <&gpio 47 0>;
+		};
+
+		pwr {
+			label = "PWR";
+			gpios = <&gpio 35 0>;
+			default-state = "keep";
+			linux,default-trigger = "default-on";
+		};
+	};
+};
+
+&gpio {
+	pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>;
+
+	/* I2S interface */
+	i2s_alt0: i2s_alt0 {
+		brcm,pins = <18 19 20 21>;
+		brcm,function = <BCM2835_FSEL_ALT0>;
+	};
+};
diff --git a/arch/arm/boot/dts/bcm2836.dtsi b/arch/arm/boot/dts/bcm2836.dtsi
new file mode 100644
index 0000000..6693118
--- /dev/null
+++ b/arch/arm/boot/dts/bcm2836.dtsi
@@ -0,0 +1,77 @@
+#include "bcm283x.dtsi"
+
+/ {
+	compatible = "brcm,bcm2836";
+
+	soc {
+		ranges = <0x7e000000 0x3f000000 0x1000000>,
+			 <0x40000000 0x40000000 0x00001000>;
+		dma-ranges = <0xc0000000 0x00000000 0x3f000000>;
+
+		local_intc: local_intc {
+			compatible = "brcm,bcm2836-l1-intc";
+			reg = <0x40000000 0x100>;
+			interrupt-controller;
+			#interrupt-cells = <1>;
+			interrupt-parent = <&local_intc>;
+		};
+
+		arm-pmu {
+			compatible = "arm,cortex-a7-pmu";
+			interrupt-parent = <&local_intc>;
+			interrupts = <9>;
+		};
+	};
+
+	timer {
+		compatible = "arm,armv7-timer";
+		interrupt-parent = <&local_intc>;
+		interrupts = <0>, // PHYS_SECURE_PPI
+			     <1>, // PHYS_NONSECURE_PPI
+			     <3>, // VIRT_PPI
+			     <2>; // HYP_PPI
+		always-on;
+	};
+
+	cpus: cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		v7_cpu0: cpu@0 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a7";
+			reg = <0xf00>;
+			clock-frequency = <800000000>;
+		};
+
+		v7_cpu1: cpu@1 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a7";
+			reg = <0xf01>;
+			clock-frequency = <800000000>;
+		};
+
+		v7_cpu2: cpu@2 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a7";
+			reg = <0xf02>;
+			clock-frequency = <800000000>;
+		};
+
+		v7_cpu3: cpu@3 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a7";
+			reg = <0xf03>;
+			clock-frequency = <800000000>;
+		};
+	};
+};
+
+/* Make the BCM2835-style global interrupt controller be a child of the
+ * CPU-local interrupt controller.
+ */
+&intc {
+	compatible = "brcm,bcm2836-armctrl-ic";
+	interrupt-parent = <&local_intc>;
+	interrupts = <8>;
+};
-- 
2.6.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1296676 — Re: [PATCH v2 6/8] ARM: bcm2835: Add devicetree for bcm2836 and Raspberry Pi 2 B

FromAlexander Aring <alex.aring@gmail.com>
Date2015-12-22 11:20 +0100
SubjectRe: [PATCH v2 6/8] ARM: bcm2835: Add devicetree for bcm2836 and Raspberry Pi 2 B
Message-ID<qIscV-2CJ-1@gated-at.bofh.it>
In reply to#1293410
On Wed, Dec 16, 2015 at 03:55:13PM -0800, Eric Anholt wrote:
> The Pi 2 B ends up like a Pi 1 B+, with the same peripherals and
> pinout, but the CPU and memory layout changed to use the 2836.
> 
> Signed-off-by: Eric Anholt <eric@anholt.net>
> ---
>  arch/arm/boot/dts/bcm2836-rpi-2-b.dts | 35 ++++++++++++++++
>  arch/arm/boot/dts/bcm2836.dtsi        | 77 +++++++++++++++++++++++++++++++++++
>  2 files changed, 112 insertions(+)
>  create mode 100644 arch/arm/boot/dts/bcm2836-rpi-2-b.dts
>  create mode 100644 arch/arm/boot/dts/bcm2836.dtsi
> 
> diff --git a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
> new file mode 100644
> index 0000000..ff94666
> --- /dev/null
> +++ b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
> @@ -0,0 +1,35 @@
> +/dts-v1/;
> +#include "bcm2836.dtsi"
> +#include "bcm2835-rpi.dtsi"
> +
> +/ {
> +	compatible = "raspberrypi,2-model-b", "brcm,bcm2836";
> +	model = "Raspberry Pi 2 Model B";
> +
> +	memory {
> +		reg = <0 0x40000000>;
> +	};
> +
> +	leds {
> +		act {
> +			gpios = <&gpio 47 0>;
> +		};
> +
> +		pwr {
> +			label = "PWR";
> +			gpios = <&gpio 35 0>;
> +			default-state = "keep";
> +			linux,default-trigger = "default-on";
> +		};
> +	};
> +};
> +
> +&gpio {
> +	pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>;
> +
> +	/* I2S interface */
> +	i2s_alt0: i2s_alt0 {
> +		brcm,pins = <18 19 20 21>;
> +		brcm,function = <BCM2835_FSEL_ALT0>;
> +	};
> +};
> diff --git a/arch/arm/boot/dts/bcm2836.dtsi b/arch/arm/boot/dts/bcm2836.dtsi
> new file mode 100644
> index 0000000..6693118
> --- /dev/null
> +++ b/arch/arm/boot/dts/bcm2836.dtsi
> @@ -0,0 +1,77 @@
> +#include "bcm283x.dtsi"
> +
> +/ {
> +	compatible = "brcm,bcm2836";
> +
> +	soc {
> +		ranges = <0x7e000000 0x3f000000 0x1000000>,

nitpik, I would change it here to 0x01000000 for the size parameter,
like below: 8-byte filled with zeroes.

> +			 <0x40000000 0x40000000 0x00001000>;

Is 0x00001000 correct here? I currently debug this part because the
devicetree issues which I mentioned. I looked into some bcm2836
datasheet. See [0], section "4 Registers", I assume this should be 0x00000100.
Or are there more than these registers which need to be accessable?

- Alex

[0] https://github.com/raspberrypi/documentation/blob/master/hardware/raspberrypi/bcm2836/QA7_rev3.4.pdf
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1293412 — [PATCH v2 7/8] ARM: bcm2835: Add a compat string for bcm2836 machine probe

FromEric Anholt <eric@anholt.net>
Date2015-12-17 01:00 +0100
Subject[PATCH v2 7/8] ARM: bcm2835: Add a compat string for bcm2836 machine probe
Message-ID<qGu9d-8tX-25@gated-at.bofh.it>
In reply to#1293403
Supporting the 2836 requires using the new interrupt controller, which
we have support for.

Signed-off-by: Eric Anholt <eric@anholt.net>
---
 arch/arm/mach-bcm/board_bcm2835.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm/mach-bcm/board_bcm2835.c b/arch/arm/mach-bcm/board_bcm2835.c
index 0f7b9ea..834d676 100644
--- a/arch/arm/mach-bcm/board_bcm2835.c
+++ b/arch/arm/mach-bcm/board_bcm2835.c
@@ -36,7 +36,12 @@ static void __init bcm2835_init(void)
 }
 
 static const char * const bcm2835_compat[] = {
+#ifdef CONFIG_ARCH_MULTI_V6
 	"brcm,bcm2835",
+#endif
+#ifdef CONFIG_ARCH_MULTI_V7
+	"brcm,bcm2836",
+#endif
 	NULL
 };
 
-- 
2.6.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1293414

FromArnd Bergmann <arnd@arndb.de>
Date2015-12-17 01:10 +0100
Message-ID<qGuiS-kX-9@gated-at.bofh.it>
In reply to#1293403
On Wednesday 16 December 2015 15:55:07 Eric Anholt wrote:
> This is a major rewrite of the previous Raspberry Pi 2 submission.
> SMP support is now included, and the DT includes are cleaned up to
> avoid massive duplication.
> 
> The branch (based on 4.4-rc5, to get the USB regression fixes) can be
> found at:
> 
> https://github.com/anholt/linux/tree/bcm2836-4.4

Looks all good to me, but when we get the pull request, I'd strongly
prefer to have that based on -rc3 or earlier.

What commit is the USB regression fix you refer to above? Is that in a
branch that is -rc3 based? Maybe you can rebase the changes on top
of that branch, to minimize the amount of backmerges?

	Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1293424

FromEric Anholt <eric@anholt.net>
Date2015-12-17 01:40 +0100
Message-ID<qGuLT-ws-1@gated-at.bofh.it>
In reply to#1293414

[Multipart message — attachments visible in raw view] — view raw

Arnd Bergmann <arnd@arndb.de> writes:

> On Wednesday 16 December 2015 15:55:07 Eric Anholt wrote:
>> This is a major rewrite of the previous Raspberry Pi 2 submission.
>> SMP support is now included, and the DT includes are cleaned up to
>> avoid massive duplication.
>> 
>> The branch (based on 4.4-rc5, to get the USB regression fixes) can be
>> found at:
>> 
>> https://github.com/anholt/linux/tree/bcm2836-4.4
>
> Looks all good to me, but when we get the pull request, I'd strongly
> prefer to have that based on -rc3 or earlier.
>
> What commit is the USB regression fix you refer to above? Is that in a
> branch that is -rc3 based? Maybe you can rebase the changes on top
> of that branch, to minimize the amount of backmerges?

Top 4 commits of drivers/usb/dwc2 for 4.4-rc5 (possibly not all of them
are required, but it's what I've been using).  I've been using
cherry-picks of them on top of my various branches for testing, but pi2
was going to be rebased so many times in the process of cleanup that I
put it underneath my development branch instead.

I've been doing pull requests for my stuff on -rc1 tags.  It sucks for
bisecting any breakage I produce when I can't boot that directly, but I
don't see a good way to avoid this kind of pain other than getting some
Pis into kernel-ci.org so we can catch regressions earlier.

[toc] | [prev] | [next] | [standalone]


#1293689

FromStefan Wahren <stefan.wahren@i2se.com>
Date2015-12-17 10:00 +0100
Message-ID<qGCzL-5sQ-5@gated-at.bofh.it>
In reply to#1293424
Am 17.12.2015 um 01:37 schrieb Eric Anholt:
> Arnd Bergmann <arnd@arndb.de> writes:
>
>> On Wednesday 16 December 2015 15:55:07 Eric Anholt wrote:
>>> This is a major rewrite of the previous Raspberry Pi 2 submission.
>>> SMP support is now included, and the DT includes are cleaned up to
>>> avoid massive duplication.
>>>
>>> The branch (based on 4.4-rc5, to get the USB regression fixes) can be
>>> found at:
>>>
>>> https://github.com/anholt/linux/tree/bcm2836-4.4
>> Looks all good to me, but when we get the pull request, I'd strongly
>> prefer to have that based on -rc3 or earlier.
>>
>> What commit is the USB regression fix you refer to above? Is that in a
>> branch that is -rc3 based? Maybe you can rebase the changes on top
>> of that branch, to minimize the amount of backmerges?
> Top 4 commits of drivers/usb/dwc2 for 4.4-rc5 (possibly not all of them
> are required, but it's what I've been using).  
>

Unfortunately all 4 of them are required:

d0464bcf12af ("usb: dwc2: Make PHY optional")

6c2dad69163f ("usb: dwc2: Return errors from PHY")

8aa90cf2a286 ("usb: dwc2: make otg clk optional")

f74875dc3613 ("usb: dwc2: fix kernel oops during driver probe")

But they should apply to -rc3 too.

Stefan

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1293738

FromArnd Bergmann <arnd@arndb.de>
Date2015-12-17 11:30 +0100
Message-ID<qGDYS-6sp-11@gated-at.bofh.it>
In reply to#1293689
On Thursday 17 December 2015 09:48:57 Stefan Wahren wrote:
> Am 17.12.2015 um 01:37 schrieb Eric Anholt:
> > Arnd Bergmann <arnd@arndb.de> writes:
> >
> >> On Wednesday 16 December 2015 15:55:07 Eric Anholt wrote:
> >>> This is a major rewrite of the previous Raspberry Pi 2 submission.
> >>> SMP support is now included, and the DT includes are cleaned up to
> >>> avoid massive duplication.
> >>>
> >>> The branch (based on 4.4-rc5, to get the USB regression fixes) can be
> >>> found at:
> >>>
> >>> https://github.com/anholt/linux/tree/bcm2836-4.4
> >> Looks all good to me, but when we get the pull request, I'd strongly
> >> prefer to have that based on -rc3 or earlier.
> >>
> >> What commit is the USB regression fix you refer to above? Is that in a
> >> branch that is -rc3 based? Maybe you can rebase the changes on top
> >> of that branch, to minimize the amount of backmerges?
> > Top 4 commits of drivers/usb/dwc2 for 4.4-rc5 (possibly not all of them
> > are required, but it's what I've been using).  
> >
> 
> Unfortunately all 4 of them are required:
> 
> d0464bcf12af ("usb: dwc2: Make PHY optional")
> 
> 6c2dad69163f ("usb: dwc2: Return errors from PHY")
> 
> 8aa90cf2a286 ("usb: dwc2: make otg clk optional")
> 
> f74875dc3613 ("usb: dwc2: fix kernel oops during driver probe")

Ok, that's good. They are all based on -rc1, so you you can just rebase
on top of f74875dc3613, which was pulled by GregKH.

> But they should apply to -rc3 too.

Please don't rebase them, use the commits that got merged, otherwise we'd
get duplicate commits and that would be worse than the backmerge.

	Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1294628

FromAlexander Aring <alex.aring@gmail.com>
Date2015-12-18 11:10 +0100
Message-ID<qH093-4ey-5@gated-at.bofh.it>
In reply to#1293403
Hi Eric,

On Wed, Dec 16, 2015 at 03:55:07PM -0800, Eric Anholt wrote:
> This is a major rewrite of the previous Raspberry Pi 2 submission.
> SMP support is now included, and the DT includes are cleaned up to
> avoid massive duplication.
> 
> The branch (based on 4.4-rc5, to get the USB regression fixes) can be
> found at:
> 
> https://github.com/anholt/linux/tree/bcm2836-4.4
> 

thanks. :-)

I tried it via booting with the RPi firmware and your branch, but it
doesn't boot on my side:

I get:

Uncompressing Linux... done, booting the kernel.
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 4.4.0-rc5+ (alex@omega) (gcc version 4.9.2 (OSELAS.Toolchain-2014.12.1) ) #989 Fri Dec 18 10:54:40 CET 2015
[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine model: Raspberry Pi 2 Model B Rev 1.1
[    0.000000] bootconsole [earlycon0] enabled
[    0.000000] Truncating RAM at 0x00000000-0x3e000000 to -0x30000000
[    0.000000] Consider using a HIGHMEM enabled kernel.
[    0.000000] Memory policy: Data cache writeback
[    0.000000] BUG: mapping for 0x3f201000 at 0xf0201000 out of vmalloc space
[    0.000000] ------------[ cut here ]------------
[    0.000000] WARNING: CPU: 0 PID: 0 at arch/arm/kernel/devtree.c:149 arm_dt_init_cpu_maps+0x100/0x1a4()
[    0.000000] DT /cpu 2 nodes greater than max cores 1, capping them
[    0.000000] Modules linked in:
[    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.4.0-rc5+ #989
[    0.000000] Hardware name: BCM2835
[    0.000000] [<c0016c4c>] (unwind_backtrace) from [<c0013e58>] (show_stack+0x20/0x24)
[    0.000000] [<c0013e58>] (show_stack) from [<c0247620>] (dump_stack+0x20/0x28)
[    0.000000] [<c0247620>] (dump_stack) from [<c0023a84>] (warn_slowpath_common+0x9c/0xc4)
[    0.000000] [<c0023a84>] (warn_slowpath_common) from [<c0023aec>] (warn_slowpath_fmt+0x40/0x48)
[    0.000000] [<c0023aec>] (warn_slowpath_fmt) from [<c074ef94>] (arm_dt_init_cpu_maps+0x100/0x1a4)
[    0.000000] [<c074ef94>] (arm_dt_init_cpu_maps) from [<c074e60c>] (setup_arch+0x6f4/0x89c)
[    0.000000] [<c074e60c>] (setup_arch) from [<c074b9cc>] (start_kernel+0x74/0x3a4)
[    0.000000] [<c074b9cc>] (start_kernel) from [<00008078>] (0x8078)
[    0.000000] ---[ end trace cb88537fdc8fa200 ]---
[    0.000000] DT missing boot CPU MPIDR[23:0], fall back to default cpu_logical_map
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 195072
[    0.000000] Kernel command line: earlyprintk console=ttyAMA0 dma.dmachans=0x7f35 bcm2708_fb.fbwidth=720 bcm2708_fb.fbheight=576 bcm2709.boardrev=0xa01041 bcm2709.serial=0x3449476 smsc95xx.macaddr=B8:27:EB:44:94:76 bcm2708_fb.fbswap=1 bcm2709.disk_led_gpio=47 bcm2709.disk_led_active_low=0 sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x3ea00000 vc_mem.mem_size=0x3f000000  dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait consoleblank=0 rw
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Memory: 770408K/786432K available (5713K kernel code, 426K rwdata, 1720K rodata, 420K init, 687K bss, 16024K reserved, 0K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc074a7cc   (7434 kB)
[    0.000000]       .init : 0xc074b000 - 0xc07b4000   ( 420 kB)
[    0.000000]       .data : 0xc07b4000 - 0xc081e910   ( 427 kB)
[    0.000000]        .bss : 0xc081e910 - 0xc08ca80c   ( 688 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] Kernel panic - not syncing: /soc/local_intc: unable to map local interrupt registers
[    0.000000] 
[    0.000000] CPU: 0 PID: 0 Comm: swapper Tainted: G        W       4.4.0-rc5+ #989
[    0.000000] Hardware name: BCM2835
[    0.000000] [<c0016c4c>] (unwind_backtrace) from [<c0013e58>] (show_stack+0x20/0x24)
[    0.000000] [<c0013e58>] (show_stack) from [<c0247620>] (dump_stack+0x20/0x28)
[    0.000000] [<c0247620>] (dump_stack) from [<c00c17c0>] (panic+0x84/0x210)
[    0.000000] [<c00c17c0>] (panic) from [<c0771d5c>] (bcm2836_arm_irqchip_l1_intc_of_init+0x94/0x110)
[    0.000000] [<c0771d5c>] (bcm2836_arm_irqchip_l1_intc_of_init) from [<c0779f04>] (of_irq_init+0x1a0/0x2a8)
[    0.000000] [<c0779f04>] (of_irq_init) from [<c0771af4>] (irqchip_init+0x14/0x1c)
[    0.000000] [<c0771af4>] (irqchip_init) from [<c074d7a8>] (init_IRQ+0x28/0x88)
[    0.000000] [<c074d7a8>] (init_IRQ) from [<c074bb64>] (start_kernel+0x20c/0x3a4)
[    0.000000] [<c074bb64>] (start_kernel) from [<00008078>] (0x8078)
[    0.000000] ---[ end Kernel panic - not syncing: /soc/local_intc: unable to map local interrupt registers


Any ideas why I get this message?

- Alex
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1294663

FromAlexander Aring <alex.aring@gmail.com>
Date2015-12-18 12:00 +0100
Message-ID<qH0Vs-4xe-21@gated-at.bofh.it>
In reply to#1294628
On Fri, Dec 18, 2015 at 11:08:26AM +0100, Alexander Aring wrote:
> Hi Eric,
> 
> On Wed, Dec 16, 2015 at 03:55:07PM -0800, Eric Anholt wrote:
> > This is a major rewrite of the previous Raspberry Pi 2 submission.
> > SMP support is now included, and the DT includes are cleaned up to
> > avoid massive duplication.
> > 
> > The branch (based on 4.4-rc5, to get the USB regression fixes) can be
> > found at:
> > 
> > https://github.com/anholt/linux/tree/bcm2836-4.4
> > 
> 
> thanks. :-)
> 
> I tried it via booting with the RPi firmware and your branch, but it
> doesn't boot on my side:
> 
> I get:
> 
> Uncompressing Linux... done, booting the kernel.
> [    0.000000] Booting Linux on physical CPU 0x0
> [    0.000000] Initializing cgroup subsys cpuset
> [    0.000000] Initializing cgroup subsys cpu
> [    0.000000] Initializing cgroup subsys cpuacct
> [    0.000000] Linux version 4.4.0-rc5+ (alex@omega) (gcc version 4.9.2 (OSELAS.Toolchain-2014.12.1) ) #989 Fri Dec 18 10:54:40 CET 2015
> [    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d
> [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
> [    0.000000] Machine model: Raspberry Pi 2 Model B Rev 1.1
> [    0.000000] bootconsole [earlycon0] enabled
> [    0.000000] Truncating RAM at 0x00000000-0x3e000000 to -0x30000000
> [    0.000000] Consider using a HIGHMEM enabled kernel.
> [    0.000000] Memory policy: Data cache writeback
> [    0.000000] BUG: mapping for 0x3f201000 at 0xf0201000 out of vmalloc space
> [    0.000000] ------------[ cut here ]------------
> [    0.000000] WARNING: CPU: 0 PID: 0 at arch/arm/kernel/devtree.c:149 arm_dt_init_cpu_maps+0x100/0x1a4()
> [    0.000000] DT /cpu 2 nodes greater than max cores 1, capping them
> [    0.000000] Modules linked in:
> [    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.4.0-rc5+ #989
> [    0.000000] Hardware name: BCM2835

Because this, I thought I boot with the wrong devicetree. But then I saw
[0].

Can this not set to BCM2836 when I include "bcm2836.dtsi" and BCM2835,
when I include "bcm2835.dtsi"?

- Alex

https://github.com/anholt/linux/blob/bcm2836-4.4/arch/arm/boot/dts/bcm283x.dtsi#L12
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1295698

FromAlexander Aring <alex.aring@gmail.com>
Date2015-12-20 23:20 +0100
Message-ID<qHUuB-6sR-9@gated-at.bofh.it>
In reply to#1294628
On Fri, Dec 18, 2015 at 11:08:26AM +0100, Alexander Aring wrote:
...
> Uncompressing Linux... done, booting the kernel.
> [    0.000000] Booting Linux on physical CPU 0x0
> [    0.000000] Initializing cgroup subsys cpuset
> [    0.000000] Initializing cgroup subsys cpu
> [    0.000000] Initializing cgroup subsys cpuacct
> [    0.000000] Linux version 4.4.0-rc5+ (alex@omega) (gcc version 4.9.2 (OSELAS.Toolchain-2014.12.1) ) #989 Fri Dec 18 10:54:40 CET 2015
> [    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d
> [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
> [    0.000000] Machine model: Raspberry Pi 2 Model B Rev 1.1
> [    0.000000] bootconsole [earlycon0] enabled
> [    0.000000] Truncating RAM at 0x00000000-0x3e000000 to -0x30000000
> [    0.000000] Consider using a HIGHMEM enabled kernel.

I can remove this "note" when I enable CONFIG_HIGHMEM.

> [    0.000000] Memory policy: Data cache writeback
> [    0.000000] BUG: mapping for 0x3f201000 at 0xf0201000 out of vmalloc space
> [    0.000000] ------------[ cut here ]------------
> [    0.000000] WARNING: CPU: 0 PID: 0 at arch/arm/kernel/devtree.c:149 arm_dt_init_cpu_maps+0x100/0x1a4()
> [    0.000000] DT /cpu 2 nodes greater than max cores 1, capping them
> [    0.000000] Modules linked in:
> [    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.4.0-rc5+ #989
> [    0.000000] Hardware name: BCM2835
> [    0.000000] [<c0016c4c>] (unwind_backtrace) from [<c0013e58>] (show_stack+0x20/0x24)
> [    0.000000] [<c0013e58>] (show_stack) from [<c0247620>] (dump_stack+0x20/0x28)
> [    0.000000] [<c0247620>] (dump_stack) from [<c0023a84>] (warn_slowpath_common+0x9c/0xc4)
> [    0.000000] [<c0023a84>] (warn_slowpath_common) from [<c0023aec>] (warn_slowpath_fmt+0x40/0x48)
> [    0.000000] [<c0023aec>] (warn_slowpath_fmt) from [<c074ef94>] (arm_dt_init_cpu_maps+0x100/0x1a4)
> [    0.000000] [<c074ef94>] (arm_dt_init_cpu_maps) from [<c074e60c>] (setup_arch+0x6f4/0x89c)
> [    0.000000] [<c074e60c>] (setup_arch) from [<c074b9cc>] (start_kernel+0x74/0x3a4)
> [    0.000000] [<c074b9cc>] (start_kernel) from [<00008078>] (0x8078)
> [    0.000000] ---[ end trace cb88537fdc8fa200 ]---
> [    0.000000] DT missing boot CPU MPIDR[23:0], fall back to default cpu_logical_map
> [    0.000000] CPU: All CPU(s) started in SVC mode.

I can remove this WARNING when I enable CONFIG_SMP.

> [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 195072
> [    0.000000] Kernel command line: earlyprintk console=ttyAMA0 dma.dmachans=0x7f35 bcm2708_fb.fbwidth=720 bcm2708_fb.fbheight=576 bcm2709.boardrev=0xa01041 bcm2709.serial=0x3449476 smsc95xx.macaddr=B8:27:EB:44:94:76 bcm2708_fb.fbswap=1 bcm2709.disk_led_gpio=47 bcm2709.disk_led_active_low=0 sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x3ea00000 vc_mem.mem_size=0x3f000000  dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait consoleblank=0 rw
> [    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
> [    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
> [    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
> [    0.000000] Memory: 770408K/786432K available (5713K kernel code, 426K rwdata, 1720K rodata, 420K init, 687K bss, 16024K reserved, 0K cma-reserved)
> [    0.000000] Virtual kernel memory layout:
> [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
> [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
> [    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
> [    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
> [    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
> [    0.000000]       .text : 0xc0008000 - 0xc074a7cc   (7434 kB)
> [    0.000000]       .init : 0xc074b000 - 0xc07b4000   ( 420 kB)
> [    0.000000]       .data : 0xc07b4000 - 0xc081e910   ( 427 kB)
> [    0.000000]        .bss : 0xc081e910 - 0xc08ca80c   ( 688 kB)
> [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
> [    0.000000] NR_IRQS:16 nr_irqs:16 16
> [    0.000000] Kernel panic - not syncing: /soc/local_intc: unable to map local interrupt registers
> [    0.000000] 
> [    0.000000] CPU: 0 PID: 0 Comm: swapper Tainted: G        W       4.4.0-rc5+ #989
> [    0.000000] Hardware name: BCM2835
> [    0.000000] [<c0016c4c>] (unwind_backtrace) from [<c0013e58>] (show_stack+0x20/0x24)
> [    0.000000] [<c0013e58>] (show_stack) from [<c0247620>] (dump_stack+0x20/0x28)
> [    0.000000] [<c0247620>] (dump_stack) from [<c00c17c0>] (panic+0x84/0x210)
> [    0.000000] [<c00c17c0>] (panic) from [<c0771d5c>] (bcm2836_arm_irqchip_l1_intc_of_init+0x94/0x110)
> [    0.000000] [<c0771d5c>] (bcm2836_arm_irqchip_l1_intc_of_init) from [<c0779f04>] (of_irq_init+0x1a0/0x2a8)
> [    0.000000] [<c0779f04>] (of_irq_init) from [<c0771af4>] (irqchip_init+0x14/0x1c)
> [    0.000000] [<c0771af4>] (irqchip_init) from [<c074d7a8>] (init_IRQ+0x28/0x88)
> [    0.000000] [<c074d7a8>] (init_IRQ) from [<c074bb64>] (start_kernel+0x20c/0x3a4)
> [    0.000000] [<c074bb64>] (start_kernel) from [<00008078>] (0x8078)
> [    0.000000] ---[ end Kernel panic - not syncing: /soc/local_intc: unable to map local interrupt registers
> 

But still getting this panic, your patches does not contain some
defconfig, so I still try to figure out what I need to enable to get it
working. Maybe it is some missing config entry which should be enabled.

But, for me it looks like some devicetree issue, because of_iomem returns
NULL, at [0]. Don't know what I am doing wrong.

- Alex

[0] https://github.com/anholt/linux/blob/bcm2836-4.4/drivers/irqchip/irq-bcm2836.c#L290
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1296280

FromEric Anholt <eric@anholt.net>
Date2015-12-22 00:10 +0100
Message-ID<qIhKy-4p5-13@gated-at.bofh.it>
In reply to#1295698

[Multipart message — attachments visible in raw view] — view raw

Alexander Aring <alex.aring@gmail.com> writes:

> On Fri, Dec 18, 2015 at 11:08:26AM +0100, Alexander Aring wrote:
> ...
>> Uncompressing Linux... done, booting the kernel.
>> [    0.000000] Booting Linux on physical CPU 0x0
>> [    0.000000] Initializing cgroup subsys cpuset
>> [    0.000000] Initializing cgroup subsys cpu
>> [    0.000000] Initializing cgroup subsys cpuacct
>> [    0.000000] Linux version 4.4.0-rc5+ (alex@omega) (gcc version 4.9.2 (OSELAS.Toolchain-2014.12.1) ) #989 Fri Dec 18 10:54:40 CET 2015
>> [    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), crc53c7d
>> [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
>> [    0.000000] Machine model: Raspberry Pi 2 Model B Rev 1.1
>> [    0.000000] bootconsole [earlycon0] enabled
>> [    0.000000] Truncating RAM at 0x00000000-0x3e000000 to -0x30000000
>> [    0.000000] Consider using a HIGHMEM enabled kernel.
>
> I can remove this "note" when I enable CONFIG_HIGHMEM.
>
>> [    0.000000] Memory policy: Data cache writeback
>> [    0.000000] BUG: mapping for 0x3f201000 at 0xf0201000 out of vmalloc space
>> [    0.000000] ------------[ cut here ]------------
>> [    0.000000] WARNING: CPU: 0 PID: 0 at arch/arm/kernel/devtree.c:149 arm_dt_init_cpu_maps+0x100/0x1a4()
>> [    0.000000] DT /cpu 2 nodes greater than max cores 1, capping them
>> [    0.000000] Modules linked in:
>> [    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.4.0-rc5+ #989
>> [    0.000000] Hardware name: BCM2835
>> [    0.000000] [<c0016c4c>] (unwind_backtrace) from [<c0013e58>] (show_stack+0x20/0x24)
>> [    0.000000] [<c0013e58>] (show_stack) from [<c0247620>] (dump_stack+0x20/0x28)
>> [    0.000000] [<c0247620>] (dump_stack) from [<c0023a84>] (warn_slowpath_common+0x9c/0xc4)
>> [    0.000000] [<c0023a84>] (warn_slowpath_common) from [<c0023aec>] (warn_slowpath_fmt+0x40/0x48)
>> [    0.000000] [<c0023aec>] (warn_slowpath_fmt) from [<c074ef94>] (arm_dt_init_cpu_maps+0x100/0x1a4)
>> [    0.000000] [<c074ef94>] (arm_dt_init_cpu_maps) from [<c074e60c>] (setup_arch+0x6f4/0x89c)
>> [    0.000000] [<c074e60c>] (setup_arch) from [<c074b9cc>] (start_kernel+0x74/0x3a4)
>> [    0.000000] [<c074b9cc>] (start_kernel) from [<00008078>] (0x8078)
>> [    0.000000] ---[ end trace cb88537fdc8fa200 ]---
>> [    0.000000] DT missing boot CPU MPIDR[23:0], fall back to default cpu_logical_map
>> [    0.000000] CPU: All CPU(s) started in SVC mode.
>
> I can remove this WARNING when I enable CONFIG_SMP.
>
>> [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 195072
>> [    0.000000] Kernel command line: earlyprintk console=ttyAMA0 dma.dmachans=0x7f35 bcm2708_fb.fbwidthr0 bcm2708_fb.fbheightW6 bcm2709.boardrev=0xa01041 bcm2709.serial=0x3449476 smsc95xx.macaddr¸:27:EB:44:94:76 bcm2708_fb.fbswap=1 bcm2709.disk_led_gpioG bcm2709.disk_led_active_low=0 sdhci-bcm2708.emmc_clock_freq%0000000 vc_mem.mem_base=0x3ea00000 vc_mem.mem_size=0x3f000000  dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait consoleblank=0 rw
>> [    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
>> [    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
>> [    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
>> [    0.000000] Memory: 770408K/786432K available (5713K kernel code, 426K rwdata, 1720K rodata, 420K init, 687K bss, 16024K reserved, 0K cma-reserved)
>> [    0.000000] Virtual kernel memory layout:
>> [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
>> [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
>> [    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
>> [    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
>> [    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
>> [    0.000000]       .text : 0xc0008000 - 0xc074a7cc   (7434 kB)
>> [    0.000000]       .init : 0xc074b000 - 0xc07b4000   ( 420 kB)
>> [    0.000000]       .data : 0xc07b4000 - 0xc081e910   ( 427 kB)
>> [    0.000000]        .bss : 0xc081e910 - 0xc08ca80c   ( 688 kB)
>> [    0.000000] SLUB: HWalignd, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
>> [    0.000000] NR_IRQS:16 nr_irqs:16 16
>> [    0.000000] Kernel panic - not syncing: /soc/local_intc: unable to map local interrupt registers
>> [    0.000000] 
>> [    0.000000] CPU: 0 PID: 0 Comm: swapper Tainted: G        W       4.4.0-rc5+ #989
>> [    0.000000] Hardware name: BCM2835
>> [    0.000000] [<c0016c4c>] (unwind_backtrace) from [<c0013e58>] (show_stack+0x20/0x24)
>> [    0.000000] [<c0013e58>] (show_stack) from [<c0247620>] (dump_stack+0x20/0x28)
>> [    0.000000] [<c0247620>] (dump_stack) from [<c00c17c0>] (panic+0x84/0x210)
>> [    0.000000] [<c00c17c0>] (panic) from [<c0771d5c>] (bcm2836_arm_irqchip_l1_intc_of_init+0x94/0x110)
>> [    0.000000] [<c0771d5c>] (bcm2836_arm_irqchip_l1_intc_of_init) from [<c0779f04>] (of_irq_init+0x1a0/0x2a8)
>> [    0.000000] [<c0779f04>] (of_irq_init) from [<c0771af4>] (irqchip_init+0x14/0x1c)
>> [    0.000000] [<c0771af4>] (irqchip_init) from [<c074d7a8>] (init_IRQ+0x28/0x88)
>> [    0.000000] [<c074d7a8>] (init_IRQ) from [<c074bb64>] (start_kernel+0x20c/0x3a4)
>> [    0.000000] [<c074bb64>] (start_kernel) from [<00008078>] (0x8078)
>> [    0.000000] ---[ end Kernel panic - not syncing: /soc/local_intc: unable to map local interrupt registers
>> 
>
> But still getting this panic, your patches does not contain some
> defconfig, so I still try to figure out what I need to enable to get it
> working. Maybe it is some missing config entry which should be enabled.
>
> But, for me it looks like some devicetree issue, because of_iomem returns
> NULL, at [0]. Don't know what I am doing wrong.

My best guess is that since you're not using U-Boot, the firmware's
mangling the DT in some way that breaks us.  Notably, in my current
firmware checkout, set /soc/ranges to just the first entry that we're
using, which would break the mapping.  However,
rpi/rpi-4.4.y:arch/arm/boot/dts/bcm2709.dtsi uses the same /soc/ranges
setup that we do, so I'm not sure what's going on.  Perhaps
bcm2709_io_desc[]'s initialization covers for it?

[toc] | [prev] | [next] | [standalone]


Page 1 of 2  [1] 2  Next page →

Back to top | Article view | linux.kernel


csiph-web