* [PATCH 2/2] ARM: bcm2835: Add devicetree for the Raspberry Pi 3.
@ 2016-03-04 18:39 ` Eric Anholt
0 siblings, 0 replies; 21+ messages in thread
From: Eric Anholt @ 2016-03-04 18:39 UTC (permalink / raw)
To: linux-rpi-kernel
Cc: linux-arm-kernel, linux-kernel, Stephen Warren, Lee Jones,
Florian Fainelli, Rob Herring, Pawel Moll, Mark Rutland,
Ian Campbell, Kumar Gala, devicetree, Eric Anholt
For now this doesn't support the new hardware present on the Pi 3 (BT,
wifi, GPIO expander). Since the GPIO expander isn't supported, we
also don't have the LEDs like the other board files do.
Signed-off-by: Eric Anholt <eric@anholt.net>
---
arch/arm/boot/dts/Makefile | 3 +-
arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 22 ++++++++++++
arch/arm/boot/dts/bcm2837.dtsi | 68 +++++++++++++++++++++++++++++++++++
3 files changed, 92 insertions(+), 1 deletion(-)
create mode 100644 arch/arm/boot/dts/bcm2837-rpi-3-b.dts
create mode 100644 arch/arm/boot/dts/bcm2837.dtsi
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index a4a6d70..71082a3 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -63,7 +63,8 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
bcm2835-rpi-b-rev2.dtb \
bcm2835-rpi-b-plus.dtb \
bcm2835-rpi-a-plus.dtb \
- bcm2836-rpi-2-b.dtb
+ bcm2836-rpi-2-b.dtb \
+ bcm2837-rpi-3-b.dtb
dtb-$(CONFIG_ARCH_BCM_5301X) += \
bcm4708-asus-rt-ac56u.dtb \
bcm4708-asus-rt-ac68u.dtb \
diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
new file mode 100644
index 0000000..5e8eafd
--- /dev/null
+++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
@@ -0,0 +1,22 @@
+/dts-v1/;
+#include "bcm2837.dtsi"
+#include "bcm2835-rpi.dtsi"
+
+/ {
+ compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
+ model = "Raspberry Pi 3 Model B";
+
+ memory {
+ reg = <0 0x40000000>;
+ };
+};
+
+&gpio {
+ pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>;
+
+ /* I2S interface */
+ i2s_alt0: i2s_alt0 {
+ brcm,pins = <28 29 30 31>;
+ brcm,function = <BCM2835_FSEL_ALT2>;
+ };
+};
diff --git a/arch/arm/boot/dts/bcm2837.dtsi b/arch/arm/boot/dts/bcm2837.dtsi
new file mode 100644
index 0000000..2f36722
--- /dev/null
+++ b/arch/arm/boot/dts/bcm2837.dtsi
@@ -0,0 +1,68 @@
+#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>;
+ };
+ };
+
+ 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>;
+
+ cpu0: cpu@0 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53";
+ reg = <0>;
+ };
+
+ cpu1: cpu@1 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53";
+ reg = <1>;
+ };
+
+ cpu2: cpu@2 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53";
+ reg = <2>;
+ };
+
+ cpu3: cpu@3 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53";
+ reg = <3>;
+ };
+ };
+};
+
+/* Make the BCM2835-style global interrupt controller be a child of the
+ * CPU-local interrupt controller.
+ */
+&intc {
+ compatible = "brcm,bcm2836-armctrl-ic";
+ reg = <0x7e00b200 0x200>;
+ interrupt-parent = <&local_intc>;
+ interrupts = <8>;
+};
--
2.7.0
^ permalink raw reply related [flat|nested] 21+ messages in thread* [PATCH 2/2] ARM: bcm2835: Add devicetree for the Raspberry Pi 3.
@ 2016-03-04 18:39 ` Eric Anholt
0 siblings, 0 replies; 21+ messages in thread
From: Eric Anholt @ 2016-03-04 18:39 UTC (permalink / raw)
To: linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-kernel-u79uwXL29TY76Z2rM5mHXA, Stephen Warren, Lee Jones,
Florian Fainelli, Rob Herring, Pawel Moll, Mark Rutland,
Ian Campbell, Kumar Gala, devicetree-u79uwXL29TY76Z2rM5mHXA,
Eric Anholt
For now this doesn't support the new hardware present on the Pi 3 (BT,
wifi, GPIO expander). Since the GPIO expander isn't supported, we
also don't have the LEDs like the other board files do.
Signed-off-by: Eric Anholt <eric-WhKQ6XTQaPysTnJN9+BGXg@public.gmane.org>
---
arch/arm/boot/dts/Makefile | 3 +-
arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 22 ++++++++++++
arch/arm/boot/dts/bcm2837.dtsi | 68 +++++++++++++++++++++++++++++++++++
3 files changed, 92 insertions(+), 1 deletion(-)
create mode 100644 arch/arm/boot/dts/bcm2837-rpi-3-b.dts
create mode 100644 arch/arm/boot/dts/bcm2837.dtsi
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index a4a6d70..71082a3 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -63,7 +63,8 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
bcm2835-rpi-b-rev2.dtb \
bcm2835-rpi-b-plus.dtb \
bcm2835-rpi-a-plus.dtb \
- bcm2836-rpi-2-b.dtb
+ bcm2836-rpi-2-b.dtb \
+ bcm2837-rpi-3-b.dtb
dtb-$(CONFIG_ARCH_BCM_5301X) += \
bcm4708-asus-rt-ac56u.dtb \
bcm4708-asus-rt-ac68u.dtb \
diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
new file mode 100644
index 0000000..5e8eafd
--- /dev/null
+++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
@@ -0,0 +1,22 @@
+/dts-v1/;
+#include "bcm2837.dtsi"
+#include "bcm2835-rpi.dtsi"
+
+/ {
+ compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
+ model = "Raspberry Pi 3 Model B";
+
+ memory {
+ reg = <0 0x40000000>;
+ };
+};
+
+&gpio {
+ pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>;
+
+ /* I2S interface */
+ i2s_alt0: i2s_alt0 {
+ brcm,pins = <28 29 30 31>;
+ brcm,function = <BCM2835_FSEL_ALT2>;
+ };
+};
diff --git a/arch/arm/boot/dts/bcm2837.dtsi b/arch/arm/boot/dts/bcm2837.dtsi
new file mode 100644
index 0000000..2f36722
--- /dev/null
+++ b/arch/arm/boot/dts/bcm2837.dtsi
@@ -0,0 +1,68 @@
+#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>;
+ };
+ };
+
+ 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>;
+
+ cpu0: cpu@0 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53";
+ reg = <0>;
+ };
+
+ cpu1: cpu@1 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53";
+ reg = <1>;
+ };
+
+ cpu2: cpu@2 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53";
+ reg = <2>;
+ };
+
+ cpu3: cpu@3 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53";
+ reg = <3>;
+ };
+ };
+};
+
+/* Make the BCM2835-style global interrupt controller be a child of the
+ * CPU-local interrupt controller.
+ */
+&intc {
+ compatible = "brcm,bcm2836-armctrl-ic";
+ reg = <0x7e00b200 0x200>;
+ interrupt-parent = <&local_intc>;
+ interrupts = <8>;
+};
--
2.7.0
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 21+ messages in thread* [PATCH 2/2] ARM: bcm2835: Add devicetree for the Raspberry Pi 3.
2016-03-04 18:39 ` Eric Anholt
@ 2016-03-04 18:41 ` Mark Rutland
-1 siblings, 0 replies; 21+ messages in thread
From: Mark Rutland @ 2016-03-04 18:41 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Mar 04, 2016 at 10:39:29AM -0800, Eric Anholt wrote:
> For now this doesn't support the new hardware present on the Pi 3 (BT,
> wifi, GPIO expander). Since the GPIO expander isn't supported, we
> also don't have the LEDs like the other board files do.
>
> Signed-off-by: Eric Anholt <eric@anholt.net>
> ---
> arch/arm/boot/dts/Makefile | 3 +-
> arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 22 ++++++++++++
> arch/arm/boot/dts/bcm2837.dtsi | 68 +++++++++++++++++++++++++++++++++++
> 3 files changed, 92 insertions(+), 1 deletion(-)
> create mode 100644 arch/arm/boot/dts/bcm2837-rpi-3-b.dts
> create mode 100644 arch/arm/boot/dts/bcm2837.dtsi
> + 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;
> + };
Are the CPUs in an always-on power domain? Or is it jsut that the kernel
doesn't perform power management of CPUs?
The always-on proeprty is only intended for the former.
Mark.
^ permalink raw reply [flat|nested] 21+ messages in thread* Re: [PATCH 2/2] ARM: bcm2835: Add devicetree for the Raspberry Pi 3.
@ 2016-03-04 18:41 ` Mark Rutland
0 siblings, 0 replies; 21+ messages in thread
From: Mark Rutland @ 2016-03-04 18:41 UTC (permalink / raw)
To: Eric Anholt
Cc: linux-rpi-kernel, linux-arm-kernel, linux-kernel, Stephen Warren,
Lee Jones, Florian Fainelli, Rob Herring, Pawel Moll,
Ian Campbell, Kumar Gala, devicetree
On Fri, Mar 04, 2016 at 10:39:29AM -0800, Eric Anholt wrote:
> For now this doesn't support the new hardware present on the Pi 3 (BT,
> wifi, GPIO expander). Since the GPIO expander isn't supported, we
> also don't have the LEDs like the other board files do.
>
> Signed-off-by: Eric Anholt <eric@anholt.net>
> ---
> arch/arm/boot/dts/Makefile | 3 +-
> arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 22 ++++++++++++
> arch/arm/boot/dts/bcm2837.dtsi | 68 +++++++++++++++++++++++++++++++++++
> 3 files changed, 92 insertions(+), 1 deletion(-)
> create mode 100644 arch/arm/boot/dts/bcm2837-rpi-3-b.dts
> create mode 100644 arch/arm/boot/dts/bcm2837.dtsi
> + 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;
> + };
Are the CPUs in an always-on power domain? Or is it jsut that the kernel
doesn't perform power management of CPUs?
The always-on proeprty is only intended for the former.
Mark.
^ permalink raw reply [flat|nested] 21+ messages in thread* [PATCH 2/2] ARM: bcm2835: Add devicetree for the Raspberry Pi 3.
2016-03-04 18:41 ` Mark Rutland
(?)
@ 2016-03-04 18:55 ` Eric Anholt
-1 siblings, 0 replies; 21+ messages in thread
From: Eric Anholt @ 2016-03-04 18:55 UTC (permalink / raw)
To: linux-arm-kernel
Mark Rutland <mark.rutland@arm.com> writes:
> On Fri, Mar 04, 2016 at 10:39:29AM -0800, Eric Anholt wrote:
>> For now this doesn't support the new hardware present on the Pi 3 (BT,
>> wifi, GPIO expander). Since the GPIO expander isn't supported, we
>> also don't have the LEDs like the other board files do.
>>
>> Signed-off-by: Eric Anholt <eric@anholt.net>
>> ---
>> arch/arm/boot/dts/Makefile | 3 +-
>> arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 22 ++++++++++++
>> arch/arm/boot/dts/bcm2837.dtsi | 68 +++++++++++++++++++++++++++++++++++
>> 3 files changed, 92 insertions(+), 1 deletion(-)
>> create mode 100644 arch/arm/boot/dts/bcm2837-rpi-3-b.dts
>> create mode 100644 arch/arm/boot/dts/bcm2837.dtsi
>
>> + 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;
>> + };
>
> Are the CPUs in an always-on power domain? Or is it jsut that the kernel
> doesn't perform power management of CPUs?
>
> The always-on proeprty is only intended for the former.
The kernel doesn't get to do power management of CPUs. We only have
control of power domains through the firmware, and the firmware's
keeping the CPU domain on.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160304/c7198bc2/attachment.sig>
^ permalink raw reply [flat|nested] 21+ messages in thread* Re: [PATCH 2/2] ARM: bcm2835: Add devicetree for the Raspberry Pi 3.
@ 2016-03-04 18:55 ` Eric Anholt
0 siblings, 0 replies; 21+ messages in thread
From: Eric Anholt @ 2016-03-04 18:55 UTC (permalink / raw)
To: Mark Rutland
Cc: linux-rpi-kernel, linux-arm-kernel, linux-kernel, Stephen Warren,
Lee Jones, Florian Fainelli, Rob Herring, Pawel Moll,
Ian Campbell, Kumar Gala, devicetree
[-- Attachment #1: Type: text/plain, Size: 1366 bytes --]
Mark Rutland <mark.rutland@arm.com> writes:
> On Fri, Mar 04, 2016 at 10:39:29AM -0800, Eric Anholt wrote:
>> For now this doesn't support the new hardware present on the Pi 3 (BT,
>> wifi, GPIO expander). Since the GPIO expander isn't supported, we
>> also don't have the LEDs like the other board files do.
>>
>> Signed-off-by: Eric Anholt <eric@anholt.net>
>> ---
>> arch/arm/boot/dts/Makefile | 3 +-
>> arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 22 ++++++++++++
>> arch/arm/boot/dts/bcm2837.dtsi | 68 +++++++++++++++++++++++++++++++++++
>> 3 files changed, 92 insertions(+), 1 deletion(-)
>> create mode 100644 arch/arm/boot/dts/bcm2837-rpi-3-b.dts
>> create mode 100644 arch/arm/boot/dts/bcm2837.dtsi
>
>> + 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;
>> + };
>
> Are the CPUs in an always-on power domain? Or is it jsut that the kernel
> doesn't perform power management of CPUs?
>
> The always-on proeprty is only intended for the former.
The kernel doesn't get to do power management of CPUs. We only have
control of power domains through the firmware, and the firmware's
keeping the CPU domain on.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 818 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread* Re: [PATCH 2/2] ARM: bcm2835: Add devicetree for the Raspberry Pi 3.
@ 2016-03-04 18:55 ` Eric Anholt
0 siblings, 0 replies; 21+ messages in thread
From: Eric Anholt @ 2016-03-04 18:55 UTC (permalink / raw)
To: Mark Rutland
Cc: linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-kernel-u79uwXL29TY76Z2rM5mHXA, Stephen Warren, Lee Jones,
Florian Fainelli, Rob Herring, Pawel Moll, Ian Campbell,
Kumar Gala, devicetree-u79uwXL29TY76Z2rM5mHXA
[-- Attachment #1: Type: text/plain, Size: 1416 bytes --]
Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org> writes:
> On Fri, Mar 04, 2016 at 10:39:29AM -0800, Eric Anholt wrote:
>> For now this doesn't support the new hardware present on the Pi 3 (BT,
>> wifi, GPIO expander). Since the GPIO expander isn't supported, we
>> also don't have the LEDs like the other board files do.
>>
>> Signed-off-by: Eric Anholt <eric-WhKQ6XTQaPysTnJN9+BGXg@public.gmane.org>
>> ---
>> arch/arm/boot/dts/Makefile | 3 +-
>> arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 22 ++++++++++++
>> arch/arm/boot/dts/bcm2837.dtsi | 68 +++++++++++++++++++++++++++++++++++
>> 3 files changed, 92 insertions(+), 1 deletion(-)
>> create mode 100644 arch/arm/boot/dts/bcm2837-rpi-3-b.dts
>> create mode 100644 arch/arm/boot/dts/bcm2837.dtsi
>
>> + 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;
>> + };
>
> Are the CPUs in an always-on power domain? Or is it jsut that the kernel
> doesn't perform power management of CPUs?
>
> The always-on proeprty is only intended for the former.
The kernel doesn't get to do power management of CPUs. We only have
control of power domains through the firmware, and the firmware's
keeping the CPU domain on.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 818 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread* [PATCH 2/2] ARM: bcm2835: Add devicetree for the Raspberry Pi 3.
@ 2016-03-04 18:59 ` Mark Rutland
0 siblings, 0 replies; 21+ messages in thread
From: Mark Rutland @ 2016-03-04 18:59 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Mar 04, 2016 at 10:55:03AM -0800, Eric Anholt wrote:
> Mark Rutland <mark.rutland@arm.com> writes:
>
> > On Fri, Mar 04, 2016 at 10:39:29AM -0800, Eric Anholt wrote:
> >> For now this doesn't support the new hardware present on the Pi 3 (BT,
> >> wifi, GPIO expander). Since the GPIO expander isn't supported, we
> >> also don't have the LEDs like the other board files do.
> >>
> >> Signed-off-by: Eric Anholt <eric@anholt.net>
> >> ---
> >> arch/arm/boot/dts/Makefile | 3 +-
> >> arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 22 ++++++++++++
> >> arch/arm/boot/dts/bcm2837.dtsi | 68 +++++++++++++++++++++++++++++++++++
> >> 3 files changed, 92 insertions(+), 1 deletion(-)
> >> create mode 100644 arch/arm/boot/dts/bcm2837-rpi-3-b.dts
> >> create mode 100644 arch/arm/boot/dts/bcm2837.dtsi
> >
> >> + 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;
> >> + };
> >
> > Are the CPUs in an always-on power domain? Or is it jsut that the kernel
> > doesn't perform power management of CPUs?
> >
> > The always-on proeprty is only intended for the former.
>
> The kernel doesn't get to do power management of CPUs. We only have
> control of power domains through the firmware, and the firmware's
> keeping the CPU domain on.
So there is no way that the CPUs could request for the firmare to place
them in a state where the timer would lose context (but other events
coukd wake them up), even if they don't do that today?
Mark
^ permalink raw reply [flat|nested] 21+ messages in thread* Re: [PATCH 2/2] ARM: bcm2835: Add devicetree for the Raspberry Pi 3.
@ 2016-03-04 18:59 ` Mark Rutland
0 siblings, 0 replies; 21+ messages in thread
From: Mark Rutland @ 2016-03-04 18:59 UTC (permalink / raw)
To: Eric Anholt
Cc: linux-rpi-kernel, linux-arm-kernel, linux-kernel, Stephen Warren,
Lee Jones, Florian Fainelli, Rob Herring, Pawel Moll,
Ian Campbell, Kumar Gala, devicetree
On Fri, Mar 04, 2016 at 10:55:03AM -0800, Eric Anholt wrote:
> Mark Rutland <mark.rutland@arm.com> writes:
>
> > On Fri, Mar 04, 2016 at 10:39:29AM -0800, Eric Anholt wrote:
> >> For now this doesn't support the new hardware present on the Pi 3 (BT,
> >> wifi, GPIO expander). Since the GPIO expander isn't supported, we
> >> also don't have the LEDs like the other board files do.
> >>
> >> Signed-off-by: Eric Anholt <eric@anholt.net>
> >> ---
> >> arch/arm/boot/dts/Makefile | 3 +-
> >> arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 22 ++++++++++++
> >> arch/arm/boot/dts/bcm2837.dtsi | 68 +++++++++++++++++++++++++++++++++++
> >> 3 files changed, 92 insertions(+), 1 deletion(-)
> >> create mode 100644 arch/arm/boot/dts/bcm2837-rpi-3-b.dts
> >> create mode 100644 arch/arm/boot/dts/bcm2837.dtsi
> >
> >> + 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;
> >> + };
> >
> > Are the CPUs in an always-on power domain? Or is it jsut that the kernel
> > doesn't perform power management of CPUs?
> >
> > The always-on proeprty is only intended for the former.
>
> The kernel doesn't get to do power management of CPUs. We only have
> control of power domains through the firmware, and the firmware's
> keeping the CPU domain on.
So there is no way that the CPUs could request for the firmare to place
them in a state where the timer would lose context (but other events
coukd wake them up), even if they don't do that today?
Mark
^ permalink raw reply [flat|nested] 21+ messages in thread* Re: [PATCH 2/2] ARM: bcm2835: Add devicetree for the Raspberry Pi 3.
@ 2016-03-04 18:59 ` Mark Rutland
0 siblings, 0 replies; 21+ messages in thread
From: Mark Rutland @ 2016-03-04 18:59 UTC (permalink / raw)
To: Eric Anholt
Cc: linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-kernel-u79uwXL29TY76Z2rM5mHXA, Stephen Warren, Lee Jones,
Florian Fainelli, Rob Herring, Pawel Moll, Ian Campbell,
Kumar Gala, devicetree-u79uwXL29TY76Z2rM5mHXA
On Fri, Mar 04, 2016 at 10:55:03AM -0800, Eric Anholt wrote:
> Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org> writes:
>
> > On Fri, Mar 04, 2016 at 10:39:29AM -0800, Eric Anholt wrote:
> >> For now this doesn't support the new hardware present on the Pi 3 (BT,
> >> wifi, GPIO expander). Since the GPIO expander isn't supported, we
> >> also don't have the LEDs like the other board files do.
> >>
> >> Signed-off-by: Eric Anholt <eric-WhKQ6XTQaPysTnJN9+BGXg@public.gmane.org>
> >> ---
> >> arch/arm/boot/dts/Makefile | 3 +-
> >> arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 22 ++++++++++++
> >> arch/arm/boot/dts/bcm2837.dtsi | 68 +++++++++++++++++++++++++++++++++++
> >> 3 files changed, 92 insertions(+), 1 deletion(-)
> >> create mode 100644 arch/arm/boot/dts/bcm2837-rpi-3-b.dts
> >> create mode 100644 arch/arm/boot/dts/bcm2837.dtsi
> >
> >> + 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;
> >> + };
> >
> > Are the CPUs in an always-on power domain? Or is it jsut that the kernel
> > doesn't perform power management of CPUs?
> >
> > The always-on proeprty is only intended for the former.
>
> The kernel doesn't get to do power management of CPUs. We only have
> control of power domains through the firmware, and the firmware's
> keeping the CPU domain on.
So there is no way that the CPUs could request for the firmare to place
them in a state where the timer would lose context (but other events
coukd wake them up), even if they don't do that today?
Mark
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 21+ messages in thread* [PATCH 2/2] ARM: bcm2835: Add devicetree for the Raspberry Pi 3.
2016-03-04 18:59 ` Mark Rutland
@ 2016-03-04 19:39 ` Eric Anholt
-1 siblings, 0 replies; 21+ messages in thread
From: Eric Anholt @ 2016-03-04 19:39 UTC (permalink / raw)
To: linux-arm-kernel
Mark Rutland <mark.rutland@arm.com> writes:
> On Fri, Mar 04, 2016 at 10:55:03AM -0800, Eric Anholt wrote:
>> Mark Rutland <mark.rutland@arm.com> writes:
>>
>> > On Fri, Mar 04, 2016 at 10:39:29AM -0800, Eric Anholt wrote:
>> >> For now this doesn't support the new hardware present on the Pi 3 (BT,
>> >> wifi, GPIO expander). Since the GPIO expander isn't supported, we
>> >> also don't have the LEDs like the other board files do.
>> >>
>> >> Signed-off-by: Eric Anholt <eric@anholt.net>
>> >> ---
>> >> arch/arm/boot/dts/Makefile | 3 +-
>> >> arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 22 ++++++++++++
>> >> arch/arm/boot/dts/bcm2837.dtsi | 68 +++++++++++++++++++++++++++++++++++
>> >> 3 files changed, 92 insertions(+), 1 deletion(-)
>> >> create mode 100644 arch/arm/boot/dts/bcm2837-rpi-3-b.dts
>> >> create mode 100644 arch/arm/boot/dts/bcm2837.dtsi
>> >
>> >> + 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;
>> >> + };
>> >
>> > Are the CPUs in an always-on power domain? Or is it jsut that the kernel
>> > doesn't perform power management of CPUs?
>> >
>> > The always-on proeprty is only intended for the former.
>>
>> The kernel doesn't get to do power management of CPUs. We only have
>> control of power domains through the firmware, and the firmware's
>> keeping the CPU domain on.
>
> So there is no way that the CPUs could request for the firmare to place
> them in a state where the timer would lose context (but other events
> coukd wake them up), even if they don't do that today?
I don't see any mechanism in the RPi firmware for the ARM to request
suspend or anything like that. Enabling something like that would
definitely require an updated DT, to enable a driver that talks to the
firmware to make requests like that.
(Note that this is the same timer setup we have in bcm2836.dtsi)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160304/5187fc94/attachment.sig>
^ permalink raw reply [flat|nested] 21+ messages in thread* Re: [PATCH 2/2] ARM: bcm2835: Add devicetree for the Raspberry Pi 3.
@ 2016-03-04 19:39 ` Eric Anholt
0 siblings, 0 replies; 21+ messages in thread
From: Eric Anholt @ 2016-03-04 19:39 UTC (permalink / raw)
To: Mark Rutland
Cc: linux-rpi-kernel, linux-arm-kernel, linux-kernel, Stephen Warren,
Lee Jones, Florian Fainelli, Rob Herring, Pawel Moll,
Ian Campbell, Kumar Gala, devicetree
[-- Attachment #1: Type: text/plain, Size: 2105 bytes --]
Mark Rutland <mark.rutland@arm.com> writes:
> On Fri, Mar 04, 2016 at 10:55:03AM -0800, Eric Anholt wrote:
>> Mark Rutland <mark.rutland@arm.com> writes:
>>
>> > On Fri, Mar 04, 2016 at 10:39:29AM -0800, Eric Anholt wrote:
>> >> For now this doesn't support the new hardware present on the Pi 3 (BT,
>> >> wifi, GPIO expander). Since the GPIO expander isn't supported, we
>> >> also don't have the LEDs like the other board files do.
>> >>
>> >> Signed-off-by: Eric Anholt <eric@anholt.net>
>> >> ---
>> >> arch/arm/boot/dts/Makefile | 3 +-
>> >> arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 22 ++++++++++++
>> >> arch/arm/boot/dts/bcm2837.dtsi | 68 +++++++++++++++++++++++++++++++++++
>> >> 3 files changed, 92 insertions(+), 1 deletion(-)
>> >> create mode 100644 arch/arm/boot/dts/bcm2837-rpi-3-b.dts
>> >> create mode 100644 arch/arm/boot/dts/bcm2837.dtsi
>> >
>> >> + 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;
>> >> + };
>> >
>> > Are the CPUs in an always-on power domain? Or is it jsut that the kernel
>> > doesn't perform power management of CPUs?
>> >
>> > The always-on proeprty is only intended for the former.
>>
>> The kernel doesn't get to do power management of CPUs. We only have
>> control of power domains through the firmware, and the firmware's
>> keeping the CPU domain on.
>
> So there is no way that the CPUs could request for the firmare to place
> them in a state where the timer would lose context (but other events
> coukd wake them up), even if they don't do that today?
I don't see any mechanism in the RPi firmware for the ARM to request
suspend or anything like that. Enabling something like that would
definitely require an updated DT, to enable a driver that talks to the
firmware to make requests like that.
(Note that this is the same timer setup we have in bcm2836.dtsi)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 818 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 2/2] ARM: bcm2835: Add devicetree for the Raspberry Pi 3.
2016-03-04 18:39 ` Eric Anholt
@ 2016-03-08 5:54 ` Stephen Warren
-1 siblings, 0 replies; 21+ messages in thread
From: Stephen Warren @ 2016-03-08 5:54 UTC (permalink / raw)
To: linux-arm-kernel
On 03/04/2016 11:39 AM, Eric Anholt wrote:
> For now this doesn't support the new hardware present on the Pi 3 (BT,
> wifi, GPIO expander). Since the GPIO expander isn't supported, we
> also don't have the LEDs like the other board files do.
The series,
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
... although I'd be slightly surprised if this was accepted; when
AArch64 was first announced, I thought the mainline ARM kernel community
decided that only 64-bit kernels would be supported on 64-bit HW? Still,
I don't immediately see that in any commit log or in the kernel doc
directory, so perhaps I'm misremembering. Hopefully; life is simpler
that way:-)
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 2/2] ARM: bcm2835: Add devicetree for the Raspberry Pi 3.
@ 2016-03-08 5:54 ` Stephen Warren
0 siblings, 0 replies; 21+ messages in thread
From: Stephen Warren @ 2016-03-08 5:54 UTC (permalink / raw)
To: Eric Anholt
Cc: linux-rpi-kernel, linux-arm-kernel, linux-kernel, Lee Jones,
Florian Fainelli, Rob Herring, Pawel Moll, Mark Rutland,
Ian Campbell, Kumar Gala, devicetree
On 03/04/2016 11:39 AM, Eric Anholt wrote:
> For now this doesn't support the new hardware present on the Pi 3 (BT,
> wifi, GPIO expander). Since the GPIO expander isn't supported, we
> also don't have the LEDs like the other board files do.
The series,
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
... although I'd be slightly surprised if this was accepted; when
AArch64 was first announced, I thought the mainline ARM kernel community
decided that only 64-bit kernels would be supported on 64-bit HW? Still,
I don't immediately see that in any commit log or in the kernel doc
directory, so perhaps I'm misremembering. Hopefully; life is simpler
that way:-)
^ permalink raw reply [flat|nested] 21+ messages in thread