brcm2708: backport upstream ARM dts commits
This gets us in sync with dts from kernel 4.11. Two patches were already backported earlier. I decided to use 03x prefix as it's kind of similar to the 3xx prefix: 3xx - architecture specific patches It isn't any documented or strict rule though. We don't need to stick to it if we hit any problems. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Acked-by: Álvaro Fernández Rojas <noltari@gmail.com>
This commit is contained in:
parent
322a7226d3
commit
313197d707
20 changed files with 1211 additions and 26 deletions
|
@ -0,0 +1,44 @@
|
|||
From 396a3529800af0817c6af2eb65c542588a1f7fb7 Mon Sep 17 00:00:00 2001
|
||||
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Date: Mon, 19 Sep 2016 10:43:17 +0200
|
||||
Subject: [PATCH] pinctrl: bcm2835: add pull defines to dt bindings
|
||||
|
||||
Also delete (unused) private enum from driver.
|
||||
The pull defines can be used instead if needed.
|
||||
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
Acked-by: Linus Walleij <linus.walleij@linaro.org>
|
||||
Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
---
|
||||
drivers/pinctrl/bcm/pinctrl-bcm2835.c | 6 ------
|
||||
include/dt-bindings/pinctrl/bcm2835.h | 5 +++++
|
||||
2 files changed, 5 insertions(+), 6 deletions(-)
|
||||
|
||||
--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
||||
+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
||||
@@ -76,12 +76,6 @@ enum bcm2835_pinconf_param {
|
||||
BCM2835_PINCONF_PARAM_PULL,
|
||||
};
|
||||
|
||||
-enum bcm2835_pinconf_pull {
|
||||
- BCM2835_PINCONFIG_PULL_NONE,
|
||||
- BCM2835_PINCONFIG_PULL_DOWN,
|
||||
- BCM2835_PINCONFIG_PULL_UP,
|
||||
-};
|
||||
-
|
||||
#define BCM2835_PINCONF_PACK(_param_, _arg_) ((_param_) << 16 | (_arg_))
|
||||
#define BCM2835_PINCONF_UNPACK_PARAM(_conf_) ((_conf_) >> 16)
|
||||
#define BCM2835_PINCONF_UNPACK_ARG(_conf_) ((_conf_) & 0xffff)
|
||||
--- a/include/dt-bindings/pinctrl/bcm2835.h
|
||||
+++ b/include/dt-bindings/pinctrl/bcm2835.h
|
||||
@@ -24,4 +24,9 @@
|
||||
#define BCM2835_FSEL_ALT2 6
|
||||
#define BCM2835_FSEL_ALT3 7
|
||||
|
||||
+/* brcm,pull property */
|
||||
+#define BCM2835_PUD_OFF 0
|
||||
+#define BCM2835_PUD_DOWN 1
|
||||
+#define BCM2835_PUD_UP 2
|
||||
+
|
||||
#endif /* __DT_BINDINGS_PINCTRL_BCM2835_H__ */
|
|
@ -0,0 +1,235 @@
|
|||
From 21ff843931b2e5a9b628ac56fd0f2e4355890096 Mon Sep 17 00:00:00 2001
|
||||
From: Eric Anholt <eric@anholt.net>
|
||||
Date: Mon, 19 Sep 2016 10:43:18 +0200
|
||||
Subject: [PATCH] ARM: dts: bcm283x: Define standard pinctrl groups in the gpio
|
||||
node.
|
||||
|
||||
The BCM2835-ARM-Peripherals.pdf documentation specifies what the
|
||||
function selects do for the pins, and there are a bunch of obvious
|
||||
groupings to be made. With these created, we'll be able to replace
|
||||
bcm2835-rpi.dtsi's main "set all of these pins to alt0" with
|
||||
references to specific groups we want enabled.
|
||||
|
||||
Also add pinctrl groups for emmc and sdhost.
|
||||
|
||||
Based on patches by Eric Anholt, with fixups by Gerd Hoffmann.
|
||||
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
---
|
||||
arch/arm/boot/dts/bcm283x.dtsi | 203 +++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 203 insertions(+)
|
||||
|
||||
--- a/arch/arm/boot/dts/bcm283x.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm283x.dtsi
|
||||
@@ -132,6 +132,209 @@
|
||||
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
+
|
||||
+ /* Defines pin muxing groups according to
|
||||
+ * BCM2835-ARM-Peripherals.pdf page 102.
|
||||
+ *
|
||||
+ * While each pin can have its mux selected
|
||||
+ * for various functions individually, some
|
||||
+ * groups only make sense to switch to a
|
||||
+ * particular function together.
|
||||
+ */
|
||||
+ dpi_gpio0: dpi_gpio0 {
|
||||
+ brcm,pins = <0 1 2 3 4 5 6 7 8 9 10 11
|
||||
+ 12 13 14 15 16 17 18 19
|
||||
+ 20 21 22 23 24 25 26 27>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT2>;
|
||||
+ };
|
||||
+ emmc_gpio22: emmc_gpio22 {
|
||||
+ brcm,pins = <22 23 24 25 26 27>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT3>;
|
||||
+ };
|
||||
+ emmc_gpio34: emmc_gpio34 {
|
||||
+ brcm,pins = <34 35 36 37 38 39>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT3>;
|
||||
+ brcm,pull = <BCM2835_PUD_OFF
|
||||
+ BCM2835_PUD_UP
|
||||
+ BCM2835_PUD_UP
|
||||
+ BCM2835_PUD_UP
|
||||
+ BCM2835_PUD_UP
|
||||
+ BCM2835_PUD_UP>;
|
||||
+ };
|
||||
+ emmc_gpio48: emmc_gpio48 {
|
||||
+ brcm,pins = <48 49 50 51 52 53>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT3>;
|
||||
+ };
|
||||
+
|
||||
+ gpclk0_gpio4: gpclk0_gpio4 {
|
||||
+ brcm,pins = <4>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
+ };
|
||||
+ gpclk1_gpio5: gpclk1_gpio5 {
|
||||
+ brcm,pins = <5>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
+ };
|
||||
+ gpclk1_gpio42: gpclk1_gpio42 {
|
||||
+ brcm,pins = <42>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
+ };
|
||||
+ gpclk1_gpio44: gpclk1_gpio44 {
|
||||
+ brcm,pins = <44>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
+ };
|
||||
+ gpclk2_gpio6: gpclk2_gpio6 {
|
||||
+ brcm,pins = <6>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
+ };
|
||||
+ gpclk2_gpio43: gpclk2_gpio43 {
|
||||
+ brcm,pins = <43>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
+ };
|
||||
+
|
||||
+ i2c0_gpio0: i2c0_gpio0 {
|
||||
+ brcm,pins = <0 1>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
+ };
|
||||
+ i2c0_gpio32: i2c0_gpio32 {
|
||||
+ brcm,pins = <32 34>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
+ };
|
||||
+ i2c0_gpio44: i2c0_gpio44 {
|
||||
+ brcm,pins = <44 45>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT1>;
|
||||
+ };
|
||||
+ i2c1_gpio2: i2c1_gpio2 {
|
||||
+ brcm,pins = <2 3>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
+ };
|
||||
+ i2c1_gpio44: i2c1_gpio44 {
|
||||
+ brcm,pins = <44 45>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT2>;
|
||||
+ };
|
||||
+ i2c_slave_gpio18: i2c_slave_gpio18 {
|
||||
+ brcm,pins = <18 19 20 21>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT3>;
|
||||
+ };
|
||||
+
|
||||
+ jtag_gpio4: jtag_gpio4 {
|
||||
+ brcm,pins = <4 5 6 12 13>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT4>;
|
||||
+ };
|
||||
+ jtag_gpio22: jtag_gpio22 {
|
||||
+ brcm,pins = <22 23 24 25 26 27>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT4>;
|
||||
+ };
|
||||
+
|
||||
+ pcm_gpio18: pcm_gpio18 {
|
||||
+ brcm,pins = <18 19 20 21>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
+ };
|
||||
+ pcm_gpio28: pcm_gpio28 {
|
||||
+ brcm,pins = <28 29 30 31>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT2>;
|
||||
+ };
|
||||
+
|
||||
+ pwm0_gpio12: pwm0_gpio12 {
|
||||
+ brcm,pins = <12>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
+ };
|
||||
+ pwm0_gpio18: pwm0_gpio18 {
|
||||
+ brcm,pins = <18>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT5>;
|
||||
+ };
|
||||
+ pwm0_gpio40: pwm0_gpio40 {
|
||||
+ brcm,pins = <40>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
+ };
|
||||
+ pwm1_gpio13: pwm1_gpio13 {
|
||||
+ brcm,pins = <13>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
+ };
|
||||
+ pwm1_gpio19: pwm1_gpio19 {
|
||||
+ brcm,pins = <19>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT5>;
|
||||
+ };
|
||||
+ pwm1_gpio41: pwm1_gpio41 {
|
||||
+ brcm,pins = <41>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
+ };
|
||||
+ pwm1_gpio45: pwm1_gpio45 {
|
||||
+ brcm,pins = <45>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
+ };
|
||||
+
|
||||
+ sdhost_gpio48: sdhost_gpio48 {
|
||||
+ brcm,pins = <48 49 50 51 52 53>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
+ };
|
||||
+
|
||||
+ spi0_gpio7: spi0_gpio7 {
|
||||
+ brcm,pins = <7 8 9 10 11>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
+ };
|
||||
+ spi0_gpio35: spi0_gpio35 {
|
||||
+ brcm,pins = <35 36 37 38 39>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
+ };
|
||||
+ spi1_gpio16: spi1_gpio16 {
|
||||
+ brcm,pins = <16 17 18 19 20 21>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT4>;
|
||||
+ };
|
||||
+ spi2_gpio40: spi2_gpio40 {
|
||||
+ brcm,pins = <40 41 42 43 44 45>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT4>;
|
||||
+ };
|
||||
+
|
||||
+ uart0_gpio14: uart0_gpio14 {
|
||||
+ brcm,pins = <14 15>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
+ };
|
||||
+ /* Separate from the uart0_gpio14 group
|
||||
+ * because it conflicts with spi1_gpio16, and
|
||||
+ * people often run uart0 on the two pins
|
||||
+ * without flow contrl.
|
||||
+ */
|
||||
+ uart0_ctsrts_gpio16: uart0_ctsrts_gpio16 {
|
||||
+ brcm,pins = <16 17>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT3>;
|
||||
+ };
|
||||
+ uart0_gpio30: uart0_gpio30 {
|
||||
+ brcm,pins = <30 31>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT3>;
|
||||
+ };
|
||||
+ uart0_ctsrts_gpio32: uart0_ctsrts_gpio32 {
|
||||
+ brcm,pins = <32 33>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT3>;
|
||||
+ };
|
||||
+
|
||||
+ uart1_gpio14: uart1_gpio14 {
|
||||
+ brcm,pins = <14 15>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT5>;
|
||||
+ };
|
||||
+ uart1_ctsrts_gpio16: uart1_ctsrts_gpio16 {
|
||||
+ brcm,pins = <16 17>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT5>;
|
||||
+ };
|
||||
+ uart1_gpio32: uart1_gpio32 {
|
||||
+ brcm,pins = <32 33>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT5>;
|
||||
+ };
|
||||
+ uart1_ctsrts_gpio30: uart1_ctsrts_gpio30 {
|
||||
+ brcm,pins = <30 31>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT5>;
|
||||
+ };
|
||||
+ uart1_gpio36: uart1_gpio36 {
|
||||
+ brcm,pins = <36 37 38 39>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT2>;
|
||||
+ };
|
||||
+ uart1_gpio40: uart1_gpio40 {
|
||||
+ brcm,pins = <40 41>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT5>;
|
||||
+ };
|
||||
+ uart1_ctsrts_gpio42: uart1_ctsrts_gpio42 {
|
||||
+ brcm,pins = <42 43>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT5>;
|
||||
+ };
|
||||
};
|
||||
|
||||
uart0: serial@7e201000 {
|
|
@ -0,0 +1,33 @@
|
|||
From 14e0ea34058ce13794877206f05a6ab5034e147b Mon Sep 17 00:00:00 2001
|
||||
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Date: Mon, 19 Sep 2016 10:43:19 +0200
|
||||
Subject: [PATCH] ARM: dts: bcm283x: add pinctrl group to &pwm, drop pins from
|
||||
&gpio
|
||||
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
---
|
||||
arch/arm/boot/dts/bcm2835-rpi.dtsi | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
|
||||
@@ -39,7 +39,7 @@
|
||||
};
|
||||
|
||||
alt0: alt0 {
|
||||
- brcm,pins = <0 1 2 3 4 5 7 8 9 10 11 14 15 40 45>;
|
||||
+ brcm,pins = <0 1 2 3 4 5 7 8 9 10 11 14 15>;
|
||||
brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
};
|
||||
|
||||
@@ -69,6 +69,8 @@
|
||||
};
|
||||
|
||||
&pwm {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>;
|
||||
status = "okay";
|
||||
};
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
From e6e199712008374edb4de979e74ae5acb1f40845 Mon Sep 17 00:00:00 2001
|
||||
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Date: Mon, 19 Sep 2016 10:43:20 +0200
|
||||
Subject: [PATCH] ARM: dts: bcm283x: add pinctrl group to &i2c0, drop pins from
|
||||
&gpio
|
||||
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
---
|
||||
arch/arm/boot/dts/bcm2835-rpi.dtsi | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
|
||||
@@ -39,7 +39,7 @@
|
||||
};
|
||||
|
||||
alt0: alt0 {
|
||||
- brcm,pins = <0 1 2 3 4 5 7 8 9 10 11 14 15>;
|
||||
+ brcm,pins = <2 3 4 5 7 8 9 10 11 14 15>;
|
||||
brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
};
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&i2c0_gpio0>;
|
||||
status = "okay";
|
||||
clock-frequency = <100000>;
|
||||
};
|
|
@ -0,0 +1,32 @@
|
|||
From 4eb65cbfa721db9d7bbe2f76e8b1909fa0320273 Mon Sep 17 00:00:00 2001
|
||||
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Date: Mon, 19 Sep 2016 10:43:21 +0200
|
||||
Subject: [PATCH] ARM: dts: bcm283x: add pinctrl group to &i2c1, drop pins from
|
||||
&gpio
|
||||
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
---
|
||||
arch/arm/boot/dts/bcm2835-rpi.dtsi | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
|
||||
@@ -39,7 +39,7 @@
|
||||
};
|
||||
|
||||
alt0: alt0 {
|
||||
- brcm,pins = <2 3 4 5 7 8 9 10 11 14 15>;
|
||||
+ brcm,pins = <4 5 7 8 9 10 11 14 15>;
|
||||
brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
};
|
||||
|
||||
@@ -57,6 +57,8 @@
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&i2c1_gpio2>;
|
||||
status = "okay";
|
||||
clock-frequency = <100000>;
|
||||
};
|
|
@ -0,0 +1,33 @@
|
|||
From f8bef3619bb219ed27dfe11cd20547e5b709650a Mon Sep 17 00:00:00 2001
|
||||
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Date: Mon, 19 Sep 2016 10:43:22 +0200
|
||||
Subject: [PATCH] ARM: dts: bcm283x: add pinctrl group to &sdhci, drop pins
|
||||
from &gpio
|
||||
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
---
|
||||
arch/arm/boot/dts/bcm2835-rpi.dtsi | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
|
||||
@@ -44,7 +44,7 @@
|
||||
};
|
||||
|
||||
alt3: alt3 {
|
||||
- brcm,pins = <48 49 50 51 52 53>;
|
||||
+ brcm,pins = <>;
|
||||
brcm,function = <BCM2835_FSEL_ALT3>;
|
||||
};
|
||||
};
|
||||
@@ -68,6 +68,8 @@
|
||||
};
|
||||
|
||||
&sdhci {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&emmc_gpio48>;
|
||||
status = "okay";
|
||||
bus-width = <4>;
|
||||
};
|
|
@ -0,0 +1,112 @@
|
|||
From a6d962aeb22fbf73c023334bdf55dc45c9fd7dba Mon Sep 17 00:00:00 2001
|
||||
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Date: Mon, 19 Sep 2016 10:43:23 +0200
|
||||
Subject: [PATCH] ARM: dts: bcm283x: drop alt3 from &gpio
|
||||
|
||||
As the alt3 group has no pins left drop it from &gpio.
|
||||
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
---
|
||||
arch/arm/boot/dts/bcm2835-rpi-a-plus.dts | 2 +-
|
||||
arch/arm/boot/dts/bcm2835-rpi-a.dts | 2 +-
|
||||
arch/arm/boot/dts/bcm2835-rpi-b-plus.dts | 2 +-
|
||||
arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts | 2 +-
|
||||
arch/arm/boot/dts/bcm2835-rpi-b.dts | 2 +-
|
||||
arch/arm/boot/dts/bcm2835-rpi-zero.dts | 2 +-
|
||||
arch/arm/boot/dts/bcm2835-rpi.dtsi | 5 -----
|
||||
arch/arm/boot/dts/bcm2836-rpi-2-b.dts | 2 +-
|
||||
8 files changed, 7 insertions(+), 12 deletions(-)
|
||||
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
|
||||
@@ -22,7 +22,7 @@
|
||||
};
|
||||
|
||||
&gpio {
|
||||
- pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>;
|
||||
+ pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
|
||||
|
||||
/* I2S interface */
|
||||
i2s_alt0: i2s_alt0 {
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi-a.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi-a.dts
|
||||
@@ -15,7 +15,7 @@
|
||||
};
|
||||
|
||||
&gpio {
|
||||
- pinctrl-0 = <&gpioout &alt0 &i2s_alt2 &alt3>;
|
||||
+ pinctrl-0 = <&gpioout &alt0 &i2s_alt2>;
|
||||
|
||||
/* I2S interface */
|
||||
i2s_alt2: i2s_alt2 {
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
|
||||
@@ -23,7 +23,7 @@
|
||||
};
|
||||
|
||||
&gpio {
|
||||
- pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>;
|
||||
+ pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
|
||||
|
||||
/* I2S interface */
|
||||
i2s_alt0: i2s_alt0 {
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
|
||||
@@ -16,7 +16,7 @@
|
||||
};
|
||||
|
||||
&gpio {
|
||||
- pinctrl-0 = <&gpioout &alt0 &i2s_alt2 &alt3>;
|
||||
+ pinctrl-0 = <&gpioout &alt0 &i2s_alt2>;
|
||||
|
||||
/* I2S interface */
|
||||
i2s_alt2: i2s_alt2 {
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi-b.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts
|
||||
@@ -16,7 +16,7 @@
|
||||
};
|
||||
|
||||
&gpio {
|
||||
- pinctrl-0 = <&gpioout &alt0 &alt3>;
|
||||
+ pinctrl-0 = <&gpioout &alt0>;
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi-zero.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi-zero.dts
|
||||
@@ -26,7 +26,7 @@
|
||||
};
|
||||
|
||||
&gpio {
|
||||
- pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>;
|
||||
+ pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
|
||||
|
||||
/* I2S interface */
|
||||
i2s_alt0: i2s_alt0 {
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
|
||||
@@ -42,11 +42,6 @@
|
||||
brcm,pins = <4 5 7 8 9 10 11 14 15>;
|
||||
brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
};
|
||||
-
|
||||
- alt3: alt3 {
|
||||
- brcm,pins = <>;
|
||||
- brcm,function = <BCM2835_FSEL_ALT3>;
|
||||
- };
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
--- a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
|
||||
@@ -27,7 +27,7 @@
|
||||
};
|
||||
|
||||
&gpio {
|
||||
- pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>;
|
||||
+ pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
|
||||
|
||||
/* I2S interface */
|
||||
i2s_alt0: i2s_alt0 {
|
|
@ -0,0 +1,67 @@
|
|||
From 43bac4133f405b67857e4c985aecc44a57233bfe Mon Sep 17 00:00:00 2001
|
||||
From: Martin Sperl <kernel@martin.sperl.org>
|
||||
Date: Wed, 2 Nov 2016 10:18:23 +0000
|
||||
Subject: [PATCH] ARM: bcm2835: dts: add thermal node to device-tree of bcm283x
|
||||
|
||||
Add the node for the thermal sensor of the bcm2835-soc
|
||||
to the device tree.
|
||||
|
||||
Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
|
||||
Reviewed-by: Eric Anholt <eric@anholt.net>
|
||||
Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
|
||||
Changelog:
|
||||
V1 -> V5: generic settings is shared in bcm283x.dtsi, but disabled
|
||||
moved the compatible string to the SOC specific dtsi
|
||||
for arm and arm64
|
||||
V5 -> V6: fix remove 0x prefix from thermal@0x7e212000
|
||||
|
||||
Note: there is no arm/boot/dts/bcm2837.dtsi as of now,
|
||||
so the 32-bit rpi3 dt is not modified.
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
---
|
||||
arch/arm/boot/dts/bcm2835.dtsi | 6 ++++++
|
||||
arch/arm/boot/dts/bcm2836.dtsi | 6 ++++++
|
||||
arch/arm/boot/dts/bcm283x.dtsi | 7 +++++++
|
||||
3 files changed, 19 insertions(+)
|
||||
|
||||
--- a/arch/arm/boot/dts/bcm2835.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm2835.dtsi
|
||||
@@ -23,3 +23,9 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
+
|
||||
+/* enable thermal sensor with the correct compatible property set */
|
||||
+&thermal {
|
||||
+ compatible = "brcm,bcm2835-thermal";
|
||||
+ status = "okay";
|
||||
+};
|
||||
--- a/arch/arm/boot/dts/bcm2836.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm2836.dtsi
|
||||
@@ -76,3 +76,9 @@
|
||||
interrupt-parent = <&local_intc>;
|
||||
interrupts = <8>;
|
||||
};
|
||||
+
|
||||
+/* enable thermal sensor with the correct compatible property set */
|
||||
+&thermal {
|
||||
+ compatible = "brcm,bcm2836-thermal";
|
||||
+ status = "okay";
|
||||
+};
|
||||
--- a/arch/arm/boot/dts/bcm283x.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm283x.dtsi
|
||||
@@ -390,6 +390,13 @@
|
||||
interrupts = <2 14>; /* pwa1 */
|
||||
};
|
||||
|
||||
+ thermal: thermal@7e212000 {
|
||||
+ compatible = "brcm,bcm2835-thermal";
|
||||
+ reg = <0x7e212000 0x8>;
|
||||
+ clocks = <&clocks BCM2835_CLOCK_TSENS>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
aux: aux@0x7e215000 {
|
||||
compatible = "brcm,bcm2835-aux";
|
||||
#clock-cells = <1>;
|
|
@ -0,0 +1,414 @@
|
|||
From 731b26a6ac17f24057c559361c6d0cb7cb79baed Mon Sep 17 00:00:00 2001
|
||||
From: Linus Walleij <linus.walleij@linaro.org>
|
||||
Date: Thu, 6 Oct 2016 13:15:02 +0200
|
||||
Subject: [PATCH] ARM: bcm2835: Add names for the Raspberry Pi GPIO lines
|
||||
|
||||
The idea is to give useful names to GPIO lines that an implementer
|
||||
will be using from userspace, e.g. for maker type projects. These are
|
||||
user-visible using tools/gpio/lsgpio.c
|
||||
|
||||
v2: Major rewrite by anholt: Flatten each GPIO line to a line in the
|
||||
file for better diffing, prefix all expansion header pins with
|
||||
"P<number>" or "P5HEADER_P<number>" and drop the mostly-unused
|
||||
GPIO_GEN<smallnumber> names in favor of GPIO<socgpionumber>, fix
|
||||
extra '[]' on a couple of lines, fix locations of SD_CARD_DETECT,
|
||||
CAM_GPIO and STATUS_LED, fix HDMI_HPD polarities, rewrite A+ using
|
||||
unreleased schematics.
|
||||
|
||||
v3: More changes by anholt: Drop P<number> / P5HEADER<number>
|
||||
prefixes. I had been skeptical about adding them, and was
|
||||
convinced to drop them by Gottfried (who probably has more
|
||||
experience with GPIOs in educational contexts than the rest of
|
||||
us). Also drop [] brackets for "is pinmuxed", which didn't seem
|
||||
to clarify, and were ambiguous for things like the SPI_*-labeled
|
||||
pins which may or may not actually be pinmuxed to SPI.
|
||||
|
||||
v4: Rename B+'s SDA0/SCL0 to match the other boards, despite the
|
||||
naming on its schematic.
|
||||
|
||||
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
---
|
||||
arch/arm/boot/dts/bcm2835-rpi-a-plus.dts | 65 +++++++++++++++++++++++++++++++
|
||||
arch/arm/boot/dts/bcm2835-rpi-a.dts | 67 ++++++++++++++++++++++++++++++++
|
||||
arch/arm/boot/dts/bcm2835-rpi-b-plus.dts | 66 +++++++++++++++++++++++++++++++
|
||||
arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts | 66 +++++++++++++++++++++++++++++++
|
||||
arch/arm/boot/dts/bcm2835-rpi-b.dts | 67 ++++++++++++++++++++++++++++++++
|
||||
5 files changed, 331 insertions(+)
|
||||
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
|
||||
@@ -22,6 +22,71 @@
|
||||
};
|
||||
|
||||
&gpio {
|
||||
+ /*
|
||||
+ * This is based on the unreleased schematic for the Model A+.
|
||||
+ *
|
||||
+ * Legend:
|
||||
+ * "NC" = not connected (no rail from the SoC)
|
||||
+ * "FOO" = GPIO line named "FOO" on the schematic
|
||||
+ * "FOO_N" = GPIO line named "FOO" on schematic, active low
|
||||
+ */
|
||||
+ gpio-line-names = "SDA0",
|
||||
+ "SCL0",
|
||||
+ "SDA1",
|
||||
+ "SCL1",
|
||||
+ "GPIO_GCLK",
|
||||
+ "GPIO5",
|
||||
+ "GPIO6",
|
||||
+ "SPI_CE1_N",
|
||||
+ "SPI_CE0_N",
|
||||
+ "SPI_MISO",
|
||||
+ "SPI_MOSI",
|
||||
+ "SPI_SCLK",
|
||||
+ "GPIO12",
|
||||
+ "GPIO13",
|
||||
+ /* Serial port */
|
||||
+ "TXD0",
|
||||
+ "RXD0",
|
||||
+ "GPIO16",
|
||||
+ "GPIO17",
|
||||
+ "GPIO18",
|
||||
+ "GPIO19",
|
||||
+ "GPIO20",
|
||||
+ "GPIO21",
|
||||
+ "GPIO22",
|
||||
+ "GPIO23",
|
||||
+ "GPIO24",
|
||||
+ "GPIO25",
|
||||
+ "GPIO26",
|
||||
+ "GPIO27",
|
||||
+ "SDA0",
|
||||
+ "SCL0",
|
||||
+ "NC", /* GPIO30 */
|
||||
+ "NC", /* GPIO31 */
|
||||
+ "NC", /* GPIO32 */
|
||||
+ "NC", /* GPIO33 */
|
||||
+ "NC", /* GPIO34 */
|
||||
+ "PWR_LOW_N", /* GPIO35 */
|
||||
+ "NC", /* GPIO36 */
|
||||
+ "NC", /* GPIO37 */
|
||||
+ "NC", /* GPIO38 */
|
||||
+ "NC", /* GPIO39 */
|
||||
+ "PWM0_OUT", /* GPIO40 */
|
||||
+ "CAM_GPIO0", /* GPIO41 */
|
||||
+ "NC", /* GPIO42 */
|
||||
+ "NC", /* GPIO43 */
|
||||
+ "NC", /* GPIO44 */
|
||||
+ "PWM1_OUT", /* GPIO45 */
|
||||
+ "HDMI_HPD_N",
|
||||
+ "STATUS_LED",
|
||||
+ /* Used by SD Card */
|
||||
+ "SD_CLK_R",
|
||||
+ "SD_CMD_R",
|
||||
+ "SD_DATA0_R",
|
||||
+ "SD_DATA1_R",
|
||||
+ "SD_DATA2_R",
|
||||
+ "SD_DATA3_R";
|
||||
+
|
||||
pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
|
||||
|
||||
/* I2S interface */
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi-a.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi-a.dts
|
||||
@@ -15,6 +15,73 @@
|
||||
};
|
||||
|
||||
&gpio {
|
||||
+ /*
|
||||
+ * Taken from Raspberry-Pi-Rev-1.0-Model-AB-Schematics.pdf
|
||||
+ * RPI00021 sheet 02
|
||||
+ *
|
||||
+ * Legend:
|
||||
+ * "NC" = not connected (no rail from the SoC)
|
||||
+ * "FOO" = GPIO line named "FOO" on the schematic
|
||||
+ * "FOO_N" = GPIO line named "FOO" on schematic, active low
|
||||
+ */
|
||||
+ gpio-line-names = "SDA0",
|
||||
+ "SCL0",
|
||||
+ "SDA1",
|
||||
+ "SCL1",
|
||||
+ "GPIO_GCLK",
|
||||
+ "CAM_CLK",
|
||||
+ "LAN_RUN",
|
||||
+ "SPI_CE1_N",
|
||||
+ "SPI_CE0_N",
|
||||
+ "SPI_MISO",
|
||||
+ "SPI_MOSI",
|
||||
+ "SPI_SCLK",
|
||||
+ "NC", /* GPIO12 */
|
||||
+ "NC", /* GPIO13 */
|
||||
+ /* Serial port */
|
||||
+ "TXD0",
|
||||
+ "RXD0",
|
||||
+ "STATUS_LED_N",
|
||||
+ "GPIO17",
|
||||
+ "GPIO18",
|
||||
+ "NC", /* GPIO19 */
|
||||
+ "NC", /* GPIO20 */
|
||||
+ "GPIO21",
|
||||
+ "GPIO22",
|
||||
+ "GPIO23",
|
||||
+ "GPIO24",
|
||||
+ "GPIO25",
|
||||
+ "NC", /* GPIO26 */
|
||||
+ "CAM_GPIO",
|
||||
+ /* Binary number representing build/revision */
|
||||
+ "CONFIG0",
|
||||
+ "CONFIG1",
|
||||
+ "CONFIG2",
|
||||
+ "CONFIG3",
|
||||
+ "NC", /* GPIO32 */
|
||||
+ "NC", /* GPIO33 */
|
||||
+ "NC", /* GPIO34 */
|
||||
+ "NC", /* GPIO35 */
|
||||
+ "NC", /* GPIO36 */
|
||||
+ "NC", /* GPIO37 */
|
||||
+ "NC", /* GPIO38 */
|
||||
+ "NC", /* GPIO39 */
|
||||
+ "PWM0_OUT",
|
||||
+ "NC", /* GPIO41 */
|
||||
+ "NC", /* GPIO42 */
|
||||
+ "NC", /* GPIO43 */
|
||||
+ "NC", /* GPIO44 */
|
||||
+ "PWM1_OUT",
|
||||
+ "HDMI_HPD_P",
|
||||
+ "SD_CARD_DET",
|
||||
+ /* Used by SD Card */
|
||||
+ "SD_CLK_R",
|
||||
+ "SD_CMD_R",
|
||||
+ "SD_DATA0_R",
|
||||
+ "SD_DATA1_R",
|
||||
+ "SD_DATA2_R",
|
||||
+ "SD_DATA3_R";
|
||||
+
|
||||
pinctrl-0 = <&gpioout &alt0 &i2s_alt2>;
|
||||
|
||||
/* I2S interface */
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
|
||||
@@ -23,6 +23,72 @@
|
||||
};
|
||||
|
||||
&gpio {
|
||||
+ /*
|
||||
+ * Taken from Raspberry-Pi-B-Plus-V1.2-Schematics.pdf
|
||||
+ * RPI-BPLUS sheet 1
|
||||
+ *
|
||||
+ * Legend:
|
||||
+ * "NC" = not connected (no rail from the SoC)
|
||||
+ * "FOO" = GPIO line named "FOO" on the schematic
|
||||
+ * "FOO_N" = GPIO line named "FOO" on schematic, active low
|
||||
+ */
|
||||
+ gpio-line-names = "SDA0",
|
||||
+ "SCL0",
|
||||
+ "SDA1",
|
||||
+ "SCL1",
|
||||
+ "GPIO_GCLK",
|
||||
+ "GPIO5",
|
||||
+ "GPIO6",
|
||||
+ "SPI_CE1_N",
|
||||
+ "SPI_CE0_N",
|
||||
+ "SPI_MISO",
|
||||
+ "SPI_MOSI",
|
||||
+ "SPI_SCLK",
|
||||
+ "GPIO12",
|
||||
+ "GPIO13",
|
||||
+ /* Serial port */
|
||||
+ "TXD0",
|
||||
+ "RXD0",
|
||||
+ "GPIO16",
|
||||
+ "GPIO17",
|
||||
+ "GPIO18",
|
||||
+ "GPIO19",
|
||||
+ "GPIO20",
|
||||
+ "GPIO21",
|
||||
+ "GPIO22",
|
||||
+ "GPIO23",
|
||||
+ "GPIO24",
|
||||
+ "GPIO25",
|
||||
+ "GPIO26",
|
||||
+ "GPIO27",
|
||||
+ "SDA0",
|
||||
+ "SCL0",
|
||||
+ "NC", /* GPIO30 */
|
||||
+ "LAN_RUN", /* GPIO31 */
|
||||
+ "CAM_GPIO1", /* GPIO32 */
|
||||
+ "NC", /* GPIO33 */
|
||||
+ "NC", /* GPIO34 */
|
||||
+ "PWR_LOW_N", /* GPIO35 */
|
||||
+ "NC", /* GPIO36 */
|
||||
+ "NC", /* GPIO37 */
|
||||
+ "NC", /* GPIO38 */
|
||||
+ "NC", /* GPIO39 */
|
||||
+ "PWM0_OUT", /* GPIO40 */
|
||||
+ "CAM_GPIO0", /* GPIO41 */
|
||||
+ "NC", /* GPIO42 */
|
||||
+ "NC", /* GPIO43 */
|
||||
+ "ETHCLK", /* GPIO44 */
|
||||
+ "PWM1_OUT", /* GPIO45 */
|
||||
+ "HDMI_HPD_N",
|
||||
+ "STATUS_LED",
|
||||
+ /* Used by SD Card */
|
||||
+ "SD_CLK_R",
|
||||
+ "SD_CMD_R",
|
||||
+ "SD_DATA0_R",
|
||||
+ "SD_DATA1_R",
|
||||
+ "SD_DATA2_R",
|
||||
+ "SD_DATA3_R";
|
||||
+
|
||||
pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
|
||||
|
||||
/* I2S interface */
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
|
||||
@@ -16,6 +16,72 @@
|
||||
};
|
||||
|
||||
&gpio {
|
||||
+ /*
|
||||
+ * Taken from Raspberry-Pi-Rev-2.0-Model-AB-Schematics.pdf
|
||||
+ * RPI00022 sheet 02
|
||||
+ *
|
||||
+ * Legend:
|
||||
+ * "NC" = not connected (no rail from the SoC)
|
||||
+ * "FOO" = GPIO line named "FOO" on the schematic
|
||||
+ * "FOO_N" = GPIO line named "FOO" on schematic, active low
|
||||
+ */
|
||||
+ gpio-line-names = "SDA0",
|
||||
+ "SCL0",
|
||||
+ "SDA1",
|
||||
+ "SCL1",
|
||||
+ "GPIO_GCLK",
|
||||
+ "CAM_CLK",
|
||||
+ "LAN_RUN",
|
||||
+ "SPI_CE1_N",
|
||||
+ "SPI_CE0_N",
|
||||
+ "SPI_MISO",
|
||||
+ "SPI_MOSI",
|
||||
+ "SPI_SCLK",
|
||||
+ "NC", /* GPIO12 */
|
||||
+ "NC", /* GPIO13 */
|
||||
+ /* Serial port */
|
||||
+ "TXD0",
|
||||
+ "RXD0",
|
||||
+ "STATUS_LED_N",
|
||||
+ "GPIO17",
|
||||
+ "GPIO18",
|
||||
+ "NC", /* GPIO19 */
|
||||
+ "NC", /* GPIO20 */
|
||||
+ "CAM_GPIO",
|
||||
+ "GPIO22",
|
||||
+ "GPIO23",
|
||||
+ "GPIO24",
|
||||
+ "GPIO25",
|
||||
+ "NC", /* GPIO26 */
|
||||
+ "GPIO27",
|
||||
+ "GPIO28",
|
||||
+ "GPIO29",
|
||||
+ "GPIO30",
|
||||
+ "GPIO31",
|
||||
+ "NC", /* GPIO32 */
|
||||
+ "NC", /* GPIO33 */
|
||||
+ "NC", /* GPIO34 */
|
||||
+ "NC", /* GPIO35 */
|
||||
+ "NC", /* GPIO36 */
|
||||
+ "NC", /* GPIO37 */
|
||||
+ "NC", /* GPIO38 */
|
||||
+ "NC", /* GPIO39 */
|
||||
+ "PWM0_OUT",
|
||||
+ "NC", /* GPIO41 */
|
||||
+ "NC", /* GPIO42 */
|
||||
+ "NC", /* GPIO43 */
|
||||
+ "NC", /* GPIO44 */
|
||||
+ "PWM1_OUT",
|
||||
+ "HDMI_HPD_P",
|
||||
+ "SD_CARD_DET",
|
||||
+ /* Used by SD Card */
|
||||
+ "SD_CLK_R",
|
||||
+ "SD_CMD_R",
|
||||
+ "SD_DATA0_R",
|
||||
+ "SD_DATA1_R",
|
||||
+ "SD_DATA2_R",
|
||||
+ "SD_DATA3_R";
|
||||
+
|
||||
pinctrl-0 = <&gpioout &alt0 &i2s_alt2>;
|
||||
|
||||
/* I2S interface */
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi-b.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts
|
||||
@@ -16,6 +16,73 @@
|
||||
};
|
||||
|
||||
&gpio {
|
||||
+ /*
|
||||
+ * Taken from Raspberry-Pi-Rev-1.0-Model-AB-Schematics.pdf
|
||||
+ * RPI00021 sheet 02
|
||||
+ *
|
||||
+ * Legend:
|
||||
+ * "NC" = not connected (no rail from the SoC)
|
||||
+ * "FOO" = GPIO line named "FOO" on the schematic
|
||||
+ * "FOO_N" = GPIO line named "FOO" on schematic, active low
|
||||
+ */
|
||||
+ gpio-line-names = "SDA0",
|
||||
+ "SCL0",
|
||||
+ "SDA1",
|
||||
+ "SCL1",
|
||||
+ "GPIO_GCLK",
|
||||
+ "CAM_CLK",
|
||||
+ "LAN_RUN",
|
||||
+ "SPI_CE1_N",
|
||||
+ "SPI_CE0_N",
|
||||
+ "SPI_MISO",
|
||||
+ "SPI_MOSI",
|
||||
+ "SPI_SCLK",
|
||||
+ "NC", /* GPIO12 */
|
||||
+ "NC", /* GPIO13 */
|
||||
+ /* Serial port */
|
||||
+ "TXD0",
|
||||
+ "RXD0",
|
||||
+ "STATUS_LED_N",
|
||||
+ "GPIO17",
|
||||
+ "GPIO18",
|
||||
+ "NC", /* GPIO19 */
|
||||
+ "NC", /* GPIO20 */
|
||||
+ "GPIO21",
|
||||
+ "GPIO22",
|
||||
+ "GPIO23",
|
||||
+ "GPIO24",
|
||||
+ "GPIO25",
|
||||
+ "NC", /* GPIO26 */
|
||||
+ "CAM_GPIO",
|
||||
+ /* Binary number representing build/revision */
|
||||
+ "CONFIG0",
|
||||
+ "CONFIG1",
|
||||
+ "CONFIG2",
|
||||
+ "CONFIG3",
|
||||
+ "NC", /* GPIO32 */
|
||||
+ "NC", /* GPIO33 */
|
||||
+ "NC", /* GPIO34 */
|
||||
+ "NC", /* GPIO35 */
|
||||
+ "NC", /* GPIO36 */
|
||||
+ "NC", /* GPIO37 */
|
||||
+ "NC", /* GPIO38 */
|
||||
+ "NC", /* GPIO39 */
|
||||
+ "PWM0_OUT",
|
||||
+ "NC", /* GPIO41 */
|
||||
+ "NC", /* GPIO42 */
|
||||
+ "NC", /* GPIO43 */
|
||||
+ "NC", /* GPIO44 */
|
||||
+ "PWM1_OUT",
|
||||
+ "HDMI_HPD_P",
|
||||
+ "SD_CARD_DET",
|
||||
+ /* Used by SD Card */
|
||||
+ "SD_CLK_R",
|
||||
+ "SD_CMD_R",
|
||||
+ "SD_DATA0_R",
|
||||
+ "SD_DATA1_R",
|
||||
+ "SD_DATA2_R",
|
||||
+ "SD_DATA3_R";
|
||||
+
|
||||
pinctrl-0 = <&gpioout &alt0>;
|
||||
};
|
||||
|
|
@ -0,0 +1,93 @@
|
|||
From 6b9170887e1b912b657dab4597f8b44ae4dbdf50 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
Date: Wed, 16 Nov 2016 17:52:06 +0000
|
||||
Subject: [PATCH] ARM: bcm2835: Fix names for the Raspberry Pi GPIO lines
|
||||
|
||||
There are some differences between the schematics and the official firmware
|
||||
DTS [1]. So based on these additional information the following has been
|
||||
changed:
|
||||
|
||||
* use consistent "CAM_GPIO1" for camera LED
|
||||
* use consistent "CAM_GPIO0" for camera shutdown
|
||||
* add "USB_LIMIT" for USB current limit (0=600mA, 1=1200mA)
|
||||
|
||||
[1] - https://github.com/raspberrypi/firmware/blob/master/extra/dt-blob.dts
|
||||
|
||||
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
---
|
||||
arch/arm/boot/dts/bcm2835-rpi-a-plus.dts | 4 ++--
|
||||
arch/arm/boot/dts/bcm2835-rpi-a.dts | 4 ++--
|
||||
arch/arm/boot/dts/bcm2835-rpi-b-plus.dts | 2 +-
|
||||
arch/arm/boot/dts/bcm2835-rpi-b.dts | 4 ++--
|
||||
4 files changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
|
||||
@@ -63,13 +63,13 @@
|
||||
"SCL0",
|
||||
"NC", /* GPIO30 */
|
||||
"NC", /* GPIO31 */
|
||||
- "NC", /* GPIO32 */
|
||||
+ "CAM_GPIO1", /* GPIO32 */
|
||||
"NC", /* GPIO33 */
|
||||
"NC", /* GPIO34 */
|
||||
"PWR_LOW_N", /* GPIO35 */
|
||||
"NC", /* GPIO36 */
|
||||
"NC", /* GPIO37 */
|
||||
- "NC", /* GPIO38 */
|
||||
+ "USB_LIMIT", /* GPIO38 */
|
||||
"NC", /* GPIO39 */
|
||||
"PWM0_OUT", /* GPIO40 */
|
||||
"CAM_GPIO0", /* GPIO41 */
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi-a.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi-a.dts
|
||||
@@ -29,7 +29,7 @@
|
||||
"SDA1",
|
||||
"SCL1",
|
||||
"GPIO_GCLK",
|
||||
- "CAM_CLK",
|
||||
+ "CAM_GPIO1",
|
||||
"LAN_RUN",
|
||||
"SPI_CE1_N",
|
||||
"SPI_CE0_N",
|
||||
@@ -52,7 +52,7 @@
|
||||
"GPIO24",
|
||||
"GPIO25",
|
||||
"NC", /* GPIO26 */
|
||||
- "CAM_GPIO",
|
||||
+ "CAM_GPIO0",
|
||||
/* Binary number representing build/revision */
|
||||
"CONFIG0",
|
||||
"CONFIG1",
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
|
||||
@@ -71,7 +71,7 @@
|
||||
"PWR_LOW_N", /* GPIO35 */
|
||||
"NC", /* GPIO36 */
|
||||
"NC", /* GPIO37 */
|
||||
- "NC", /* GPIO38 */
|
||||
+ "USB_LIMIT", /* GPIO38 */
|
||||
"NC", /* GPIO39 */
|
||||
"PWM0_OUT", /* GPIO40 */
|
||||
"CAM_GPIO0", /* GPIO41 */
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi-b.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts
|
||||
@@ -30,7 +30,7 @@
|
||||
"SDA1",
|
||||
"SCL1",
|
||||
"GPIO_GCLK",
|
||||
- "CAM_CLK",
|
||||
+ "CAM_GPIO1",
|
||||
"LAN_RUN",
|
||||
"SPI_CE1_N",
|
||||
"SPI_CE0_N",
|
||||
@@ -53,7 +53,7 @@
|
||||
"GPIO24",
|
||||
"GPIO25",
|
||||
"NC", /* GPIO26 */
|
||||
- "CAM_GPIO",
|
||||
+ "CAM_GPIO0",
|
||||
/* Binary number representing build/revision */
|
||||
"CONFIG0",
|
||||
"CONFIG1",
|
|
@ -0,0 +1,91 @@
|
|||
From 3a1689ea752436917c5ce4487527ed6c444630ee Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
Date: Wed, 16 Nov 2016 17:52:07 +0000
|
||||
Subject: [PATCH] ARM: bcm2835: Add names for the RPi Zero GPIO lines
|
||||
|
||||
This adds the GPIO names for the Raspberry Pi Zero. The GPIO lines
|
||||
of the RPi Zero are almost identical to the Model A+ except:
|
||||
|
||||
* GPIO 35, 38, 40 and 45 are not connected
|
||||
* Status LED is active low
|
||||
|
||||
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
---
|
||||
arch/arm/boot/dts/bcm2835-rpi-zero.dts | 65 ++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 65 insertions(+)
|
||||
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi-zero.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi-zero.dts
|
||||
@@ -26,6 +26,71 @@
|
||||
};
|
||||
|
||||
&gpio {
|
||||
+ /*
|
||||
+ * This is based on the official GPU firmware DT blob.
|
||||
+ *
|
||||
+ * Legend:
|
||||
+ * "NC" = not connected (no rail from the SoC)
|
||||
+ * "FOO" = GPIO line named "FOO" on the schematic
|
||||
+ * "FOO_N" = GPIO line named "FOO" on schematic, active low
|
||||
+ */
|
||||
+ gpio-line-names = "SDA0",
|
||||
+ "SCL0",
|
||||
+ "SDA1",
|
||||
+ "SCL1",
|
||||
+ "GPIO_GCLK",
|
||||
+ "GPIO5",
|
||||
+ "GPIO6",
|
||||
+ "SPI_CE1_N",
|
||||
+ "SPI_CE0_N",
|
||||
+ "SPI_MISO",
|
||||
+ "SPI_MOSI",
|
||||
+ "SPI_SCLK",
|
||||
+ "GPIO12",
|
||||
+ "GPIO13",
|
||||
+ /* Serial port */
|
||||
+ "TXD0",
|
||||
+ "RXD0",
|
||||
+ "GPIO16",
|
||||
+ "GPIO17",
|
||||
+ "GPIO18",
|
||||
+ "GPIO19",
|
||||
+ "GPIO20",
|
||||
+ "GPIO21",
|
||||
+ "GPIO22",
|
||||
+ "GPIO23",
|
||||
+ "GPIO24",
|
||||
+ "GPIO25",
|
||||
+ "GPIO26",
|
||||
+ "GPIO27",
|
||||
+ "SDA0",
|
||||
+ "SCL0",
|
||||
+ "NC", /* GPIO30 */
|
||||
+ "NC", /* GPIO31 */
|
||||
+ "CAM_GPIO1", /* GPIO32 */
|
||||
+ "NC", /* GPIO33 */
|
||||
+ "NC", /* GPIO34 */
|
||||
+ "NC", /* GPIO35 */
|
||||
+ "NC", /* GPIO36 */
|
||||
+ "NC", /* GPIO37 */
|
||||
+ "NC", /* GPIO38 */
|
||||
+ "NC", /* GPIO39 */
|
||||
+ "NC", /* GPIO40 */
|
||||
+ "CAM_GPIO0", /* GPIO41 */
|
||||
+ "NC", /* GPIO42 */
|
||||
+ "NC", /* GPIO43 */
|
||||
+ "NC", /* GPIO44 */
|
||||
+ "NC", /* GPIO45 */
|
||||
+ "HDMI_HPD_N",
|
||||
+ "STATUS_LED_N",
|
||||
+ /* Used by SD Card */
|
||||
+ "SD_CLK_R",
|
||||
+ "SD_CMD_R",
|
||||
+ "SD_DATA0_R",
|
||||
+ "SD_DATA1_R",
|
||||
+ "SD_DATA2_R",
|
||||
+ "SD_DATA3_R";
|
||||
+
|
||||
pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
|
||||
|
||||
/* I2S interface */
|
|
@ -1,4 +1,4 @@
|
|||
From 9389f17c3c92c3ec54e0d689ad46b95b90a8039a Mon Sep 17 00:00:00 2001
|
||||
From b899c45208d6f204a6da9a1132577993eeecf0fb Mon Sep 17 00:00:00 2001
|
||||
From: Boris Brezillon <boris.brezillon@free-electrons.com>
|
||||
Date: Fri, 2 Dec 2016 14:48:12 +0100
|
||||
Subject: [PATCH] ARM: dts: bcm283x: Add VEC node in bcm283x.dtsi
|
||||
|
@ -7,14 +7,13 @@ Add the VEC (Video EnCoder) node definition in bcm283x.dtsi.
|
|||
|
||||
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
(cherry picked from commit b899c45208d6f204a6da9a1132577993eeecf0fb)
|
||||
---
|
||||
arch/arm/boot/dts/bcm283x.dtsi | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
--- a/arch/arm/boot/dts/bcm283x.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm283x.dtsi
|
||||
@@ -310,6 +310,14 @@
|
||||
@@ -476,6 +476,14 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From 686aed7763ddc3bd31b45454cbe73fb217a3d1c1 Mon Sep 17 00:00:00 2001
|
||||
From 5ab1a37c6027c114a87a1ae32cfc5ef303d643c5 Mon Sep 17 00:00:00 2001
|
||||
From: Boris Brezillon <boris.brezillon@free-electrons.com>
|
||||
Date: Fri, 2 Dec 2016 14:48:13 +0100
|
||||
Subject: [PATCH] ARM: dts: bcm283x: Enable the VEC IP on all RaspberryPi
|
||||
|
@ -8,16 +8,15 @@ Enable the VEC IP on all RaspberryPi boards.
|
|||
|
||||
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
(cherry picked from commit 5ab1a37c6027c114a87a1ae32cfc5ef303d643c5)
|
||||
---
|
||||
arch/arm/boot/dts/bcm2835-rpi.dtsi | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
|
||||
@@ -92,3 +92,8 @@
|
||||
&dsi1 {
|
||||
power-domains = <&power RPI_POWER_DOMAIN_DSI1>;
|
||||
@@ -87,3 +87,8 @@
|
||||
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
|
||||
status = "okay";
|
||||
};
|
||||
+
|
||||
+&vec {
|
|
@ -10,7 +10,7 @@ Signed-off-by: Noralf Tronnes <notro@tronnes.org>
|
|||
|
||||
--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
||||
+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
||||
@@ -386,7 +386,7 @@ static struct gpio_chip bcm2835_gpio_chi
|
||||
@@ -380,7 +380,7 @@ static struct gpio_chip bcm2835_gpio_chi
|
||||
.get = bcm2835_gpio_get,
|
||||
.set = bcm2835_gpio_set,
|
||||
.to_irq = bcm2835_gpio_to_irq,
|
||||
|
|
|
@ -31,7 +31,7 @@ the pins are often used for I2S instead.
|
|||
|
||||
#define BCM2835_PIN_BITMAP_SZ \
|
||||
DIV_ROUND_UP(BCM2835_NUM_GPIOS, sizeof(unsigned long) * 8)
|
||||
@@ -88,13 +89,13 @@ enum bcm2835_pinconf_pull {
|
||||
@@ -82,13 +83,13 @@ enum bcm2835_pinconf_param {
|
||||
|
||||
struct bcm2835_gpio_irqdata {
|
||||
struct bcm2835_pinctrl *pc;
|
||||
|
@ -47,7 +47,7 @@ the pins are often used for I2S instead.
|
|||
|
||||
/* note: locking assumes each bank will have its own unsigned long */
|
||||
unsigned long enabled_irq_map[BCM2835_NUM_BANKS];
|
||||
@@ -105,7 +106,7 @@ struct bcm2835_pinctrl {
|
||||
@@ -99,7 +100,7 @@ struct bcm2835_pinctrl {
|
||||
struct gpio_chip gpio_chip;
|
||||
struct pinctrl_gpio_range gpio_range;
|
||||
|
||||
|
@ -56,7 +56,7 @@ the pins are often used for I2S instead.
|
|||
spinlock_t irq_lock[BCM2835_NUM_BANKS];
|
||||
};
|
||||
|
||||
@@ -391,17 +392,16 @@ static struct gpio_chip bcm2835_gpio_chi
|
||||
@@ -385,17 +386,16 @@ static struct gpio_chip bcm2835_gpio_chi
|
||||
.can_sleep = false,
|
||||
};
|
||||
|
||||
|
@ -77,7 +77,7 @@ the pins are often used for I2S instead.
|
|||
events &= pc->enabled_irq_map[bank];
|
||||
for_each_set_bit(offset, &events, 32) {
|
||||
gpio = (32 * bank) + offset;
|
||||
@@ -409,7 +409,30 @@ static irqreturn_t bcm2835_gpio_irq_hand
|
||||
@@ -403,7 +403,30 @@ static irqreturn_t bcm2835_gpio_irq_hand
|
||||
|
||||
generic_handle_irq(irq_linear_revmap(pc->irq_domain, gpio));
|
||||
}
|
||||
|
@ -109,7 +109,7 @@ the pins are often used for I2S instead.
|
|||
}
|
||||
|
||||
static inline void __bcm2835_gpio_irq_config(struct bcm2835_pinctrl *pc,
|
||||
@@ -998,8 +1021,6 @@ static int bcm2835_pinctrl_probe(struct
|
||||
@@ -992,8 +1015,6 @@ static int bcm2835_pinctrl_probe(struct
|
||||
for (i = 0; i < BCM2835_NUM_BANKS; i++) {
|
||||
unsigned long events;
|
||||
unsigned offset;
|
||||
|
@ -118,7 +118,7 @@ the pins are often used for I2S instead.
|
|||
|
||||
/* clear event detection flags */
|
||||
bcm2835_gpio_wr(pc, GPREN0 + i * 4, 0);
|
||||
@@ -1014,10 +1035,15 @@ static int bcm2835_pinctrl_probe(struct
|
||||
@@ -1008,10 +1029,15 @@ static int bcm2835_pinctrl_probe(struct
|
||||
for_each_set_bit(offset, &events, 32)
|
||||
bcm2835_gpio_wr(pc, GPEDS0 + i * 4, BIT(offset));
|
||||
|
||||
|
@ -136,7 +136,7 @@ the pins are often used for I2S instead.
|
|||
|
||||
len = strlen(dev_name(pc->dev)) + 16;
|
||||
name = devm_kzalloc(pc->dev, len, GFP_KERNEL);
|
||||
@@ -1074,6 +1100,7 @@ static struct platform_driver bcm2835_pi
|
||||
@@ -1068,6 +1094,7 @@ static struct platform_driver bcm2835_pi
|
||||
.remove = bcm2835_pinctrl_remove,
|
||||
.driver = {
|
||||
.name = MODULE_NAME,
|
||||
|
|
|
@ -16,7 +16,7 @@ interface, is unlikely to be a problem.
|
|||
|
||||
--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
||||
+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
||||
@@ -1042,6 +1042,8 @@ static int bcm2835_pinctrl_probe(struct
|
||||
@@ -1036,6 +1036,8 @@ static int bcm2835_pinctrl_probe(struct
|
||||
int len;
|
||||
char *name;
|
||||
pc->irq[i] = irq_of_parse_and_map(np, i);
|
||||
|
|
|
@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
|||
|
||||
--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
||||
+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
|
||||
@@ -844,6 +844,16 @@ static const struct pinctrl_ops bcm2835_
|
||||
@@ -838,6 +838,16 @@ static const struct pinctrl_ops bcm2835_
|
||||
.dt_free_map = bcm2835_pctl_dt_free_map,
|
||||
};
|
||||
|
||||
|
@ -31,7 +31,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
|||
static int bcm2835_pmx_get_functions_count(struct pinctrl_dev *pctldev)
|
||||
{
|
||||
return BCM2835_FSEL_COUNT;
|
||||
@@ -903,6 +913,7 @@ static int bcm2835_pmx_gpio_set_directio
|
||||
@@ -897,6 +907,7 @@ static int bcm2835_pmx_gpio_set_directio
|
||||
}
|
||||
|
||||
static const struct pinmux_ops bcm2835_pmx_ops = {
|
||||
|
|
|
@ -1013,7 +1013,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|||
+ firmware = <&firmware>;
|
||||
+ };
|
||||
+
|
||||
+ thermal: thermal {
|
||||
+ thermal: thermal@7e212000 {
|
||||
+ compatible = "brcm,bcm2835-thermal";
|
||||
+ firmware = <&firmware>;
|
||||
+ };
|
||||
|
|
|
@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
|||
|
||||
--- a/arch/arm/boot/dts/bcm283x.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm283x.dtsi
|
||||
@@ -163,6 +163,7 @@
|
||||
@@ -366,6 +366,7 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
|
|
|
@ -14,8 +14,8 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
|
|||
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
|
||||
@@ -84,3 +84,11 @@
|
||||
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
|
||||
@@ -92,3 +92,11 @@
|
||||
power-domains = <&power RPI_POWER_DOMAIN_VEC>;
|
||||
status = "okay";
|
||||
};
|
||||
+
|
||||
|
@ -45,8 +45,8 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
|
|||
};
|
||||
|
||||
rng@7e104000 {
|
||||
@@ -188,6 +191,26 @@
|
||||
interrupts = <2 14>; /* pwa1 */
|
||||
@@ -398,6 +401,26 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
+ dsi0: dsi@7e209000 {
|
||||
|
@ -72,7 +72,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
|
|||
aux: aux@0x7e215000 {
|
||||
compatible = "brcm,bcm2835-aux";
|
||||
#clock-cells = <1>;
|
||||
@@ -247,6 +270,26 @@
|
||||
@@ -457,6 +480,26 @@
|
||||
interrupts = <2 1>;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue