aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2016-11-30 11:57:26 -0500
committerArnd Bergmann <arnd@arndb.de>2016-11-30 11:57:26 -0500
commit7b88f1a4896ca7e8a490218af69077ade1ae43e4 (patch)
tree5d8054f1225cde2a62d604d5c472bc19da9f58a6
parentf21b65881cda1faed5fb292edc1b4241e7495731 (diff)
parente687607116bc45afcbbcd0097129573f9729ff21 (diff)
Merge tag 'arm-soc/for-4.10/devicetree-arm64' of http://github.com/Broadcom/stblinux into next/dt64
Pull "Broadcom devicetree-arm64 changes for 4.10" from Florian Fainelli: This pull request contains Broadcom ARM64 based SoC Device Tree changes for 4.10, please pull the following: - Robin updates the Northstart 2 DTS to use the generic IOMMU binding - Scott renames the Broadcom Northstar 2 binding document to use a standard name including the brcm vendor prefix - Kamal adds the QSPI Device Tree node to the Northstar 2 SoC and updates the Northstar 2 SVK reference board DTS file with it enabled. - Rob adds the Device Tree node for the Broadcom PDC (mailbox) hardware to the Northstar 2 SoC - Jon enables the SDIO1 block and adds proper PCIe PHYs Device Tree nodes to the Northstar 2 SoC - Ray adds required properties NAND controller properties to make NAND work on the Northstar 2 SVK board, this was submitted as a 4.9 fixes and is included here to resolve DTS file merges - Andrea removes an incorrect power LED from the Raspberry Pi 3 DTS - Andreas fixes the compatible string for the BCM2837 (Raspberry Pi 3) - Eric defines standard pinctrl groups in the BCM2835 GPIO node - Gerd adds definitions for the pinctrl groups and updates the PWM, I2C and SDHCI nodes to use their appropriate pinctrl functions - Linus adds names for the Raspberry Pi GPIO lines based on the datasheet - Martin adds the DT binding and nodes for the Raspberry Pi firmware thermal block - Stefan fixes a few typos with respect to the BCM2835 mailbox binding example and Device Tree nodes he also uses the proper DTSI file to define the USB host mode for the USB Device Tree nodes * tag 'arm-soc/for-4.10/devicetree-arm64' of http://github.com/Broadcom/stblinux: (23 commits) arm64: dts: NS2: Add PCI PHYs arm64: dts: NS2: enable sdio1 ARM64: dts: bcm2837-rpi-3-b: remove incorrect pwr LED ARM64: bcm2835: dts: add thermal node to device-tree of bcm2837 ARM: bcm2835: Add names for the Raspberry Pi GPIO lines ARM: bcm2835: dts: add thermal node to device-tree of bcm283x dt: bindings: add thermal device driver for bcm2835 arm64: dts: Add Broadcom Northstar2 device tree entries for PDC driver. ARM: dts: bcm283x: fix typo in mailbox address DT: binding: bcm2835-mbox: fix address typo in example ARM64: dts: bcm2835: Fix bcm2837 compatible string arm64: dts: Update Broadcom NS2 to generic IOMMU binding arm64: dts: Updated NAND DT properties for NS2 SVK arm64: dts: rename ns2.txt to brcm,ns2.txt ARM64: dts: Add QSPI Device Tree node for NS2 ARM64: dts: bcm283x: Use dtsi for USB host mode ARM: dts: bcm283x: drop alt3 from &gpio ARM: dts: bcm283x: add pinctrl group to &sdhci, drop pins from &gpio ARM: dts: bcm283x: add pinctrl group to &i2c1, drop pins from &gpio ARM: dts: bcm283x: add pinctrl group to &i2c0, drop pins from &gpio ...
-rw-r--r--Documentation/devicetree/bindings/arm/bcm/brcm,ns2.txt (renamed from Documentation/devicetree/bindings/arm/bcm/ns2.txt)0
-rw-r--r--Documentation/devicetree/bindings/mailbox/brcm,bcm2835-mbox.txt2
-rw-r--r--Documentation/devicetree/bindings/thermal/brcm,bcm2835-thermal.txt17
-rw-r--r--arch/arm/boot/dts/bcm2835-rpi-a-plus.dts67
-rw-r--r--arch/arm/boot/dts/bcm2835-rpi-a.dts69
-rw-r--r--arch/arm/boot/dts/bcm2835-rpi-b-plus.dts68
-rw-r--r--arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts68
-rw-r--r--arch/arm/boot/dts/bcm2835-rpi-b.dts69
-rw-r--r--arch/arm/boot/dts/bcm2835-rpi-zero.dts2
-rw-r--r--arch/arm/boot/dts/bcm2835-rpi.dtsi15
-rw-r--r--arch/arm/boot/dts/bcm2835.dtsi6
-rw-r--r--arch/arm/boot/dts/bcm2836-rpi-2-b.dts2
-rw-r--r--arch/arm/boot/dts/bcm2836.dtsi6
-rw-r--r--arch/arm/boot/dts/bcm283x.dtsi212
-rw-r--r--arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts8
-rw-r--r--arch/arm64/boot/dts/broadcom/bcm2837.dtsi8
l---------arch/arm64/boot/dts/broadcom/bcm283x-rpi-usb-host.dtsi1
-rw-r--r--arch/arm64/boot/dts/broadcom/ns2-svk.dts38
-rw-r--r--arch/arm64/boot/dts/broadcom/ns2.dtsi62
-rw-r--r--drivers/pinctrl/bcm/pinctrl-bcm2835.c6
-rw-r--r--include/dt-bindings/pinctrl/bcm2835.h5
21 files changed, 701 insertions, 30 deletions
diff --git a/Documentation/devicetree/bindings/arm/bcm/ns2.txt b/Documentation/devicetree/bindings/arm/bcm/brcm,ns2.txt
index 35f056f4a1c3..35f056f4a1c3 100644
--- a/Documentation/devicetree/bindings/arm/bcm/ns2.txt
+++ b/Documentation/devicetree/bindings/arm/bcm/brcm,ns2.txt
diff --git a/Documentation/devicetree/bindings/mailbox/brcm,bcm2835-mbox.txt b/Documentation/devicetree/bindings/mailbox/brcm,bcm2835-mbox.txt
index e893615ef635..b48d7d30012c 100644
--- a/Documentation/devicetree/bindings/mailbox/brcm,bcm2835-mbox.txt
+++ b/Documentation/devicetree/bindings/mailbox/brcm,bcm2835-mbox.txt
@@ -12,7 +12,7 @@ Required properties:
12 12
13Example: 13Example:
14 14
15mailbox: mailbox@7e00b800 { 15mailbox: mailbox@7e00b880 {
16 compatible = "brcm,bcm2835-mbox"; 16 compatible = "brcm,bcm2835-mbox";
17 reg = <0x7e00b880 0x40>; 17 reg = <0x7e00b880 0x40>;
18 interrupts = <0 1>; 18 interrupts = <0 1>;
diff --git a/Documentation/devicetree/bindings/thermal/brcm,bcm2835-thermal.txt b/Documentation/devicetree/bindings/thermal/brcm,bcm2835-thermal.txt
new file mode 100644
index 000000000000..474531d2b2c5
--- /dev/null
+++ b/Documentation/devicetree/bindings/thermal/brcm,bcm2835-thermal.txt
@@ -0,0 +1,17 @@
1Binding for Thermal Sensor driver for BCM2835 SoCs.
2
3Required parameters:
4-------------------
5
6compatible: should be one of: "brcm,bcm2835-thermal",
7 "brcm,bcm2836-thermal" or "brcm,bcm2837-thermal"
8reg: Address range of the thermal registers.
9clocks: Phandle of the clock used by the thermal sensor.
10
11Example:
12
13thermal: thermal@7e212000 {
14 compatible = "brcm,bcm2835-thermal";
15 reg = <0x7e212000 0x8>;
16 clocks = <&clocks BCM2835_CLOCK_TSENS>;
17};
diff --git a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
index f7f9db355d98..5a22c7965f34 100644
--- a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
+++ b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
@@ -22,7 +22,72 @@
22}; 22};
23 23
24&gpio { 24&gpio {
25 pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>; 25 /*
26 * This is based on the unreleased schematic for the Model A+.
27 *
28 * Legend:
29 * "NC" = not connected (no rail from the SoC)
30 * "FOO" = GPIO line named "FOO" on the schematic
31 * "FOO_N" = GPIO line named "FOO" on schematic, active low
32 */
33 gpio-line-names = "SDA0",
34 "SCL0",
35 "SDA1",
36 "SCL1",
37 "GPIO_GCLK",
38 "GPIO5",
39 "GPIO6",
40 "SPI_CE1_N",
41 "SPI_CE0_N",
42 "SPI_MISO",
43 "SPI_MOSI",
44 "SPI_SCLK",
45 "GPIO12",
46 "GPIO13",
47 /* Serial port */
48 "TXD0",
49 "RXD0",
50 "GPIO16",
51 "GPIO17",
52 "GPIO18",
53 "GPIO19",
54 "GPIO20",
55 "GPIO21",
56 "GPIO22",
57 "GPIO23",
58 "GPIO24",
59 "GPIO25",
60 "GPIO26",
61 "GPIO27",
62 "SDA0",
63 "SCL0",
64 "NC", /* GPIO30 */
65 "NC", /* GPIO31 */
66 "NC", /* GPIO32 */
67 "NC", /* GPIO33 */
68 "NC", /* GPIO34 */
69 "PWR_LOW_N", /* GPIO35 */
70 "NC", /* GPIO36 */
71 "NC", /* GPIO37 */
72 "NC", /* GPIO38 */
73 "NC", /* GPIO39 */
74 "PWM0_OUT", /* GPIO40 */
75 "CAM_GPIO0", /* GPIO41 */
76 "NC", /* GPIO42 */
77 "NC", /* GPIO43 */
78 "NC", /* GPIO44 */
79 "PWM1_OUT", /* GPIO45 */
80 "HDMI_HPD_N",
81 "STATUS_LED",
82 /* Used by SD Card */
83 "SD_CLK_R",
84 "SD_CMD_R",
85 "SD_DATA0_R",
86 "SD_DATA1_R",
87 "SD_DATA2_R",
88 "SD_DATA3_R";
89
90 pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
26 91
27 /* I2S interface */ 92 /* I2S interface */
28 i2s_alt0: i2s_alt0 { 93 i2s_alt0: i2s_alt0 {
diff --git a/arch/arm/boot/dts/bcm2835-rpi-a.dts b/arch/arm/boot/dts/bcm2835-rpi-a.dts
index 8be102f5d826..54f98c59a75d 100644
--- a/arch/arm/boot/dts/bcm2835-rpi-a.dts
+++ b/arch/arm/boot/dts/bcm2835-rpi-a.dts
@@ -15,7 +15,74 @@
15}; 15};
16 16
17&gpio { 17&gpio {
18 pinctrl-0 = <&gpioout &alt0 &i2s_alt2 &alt3>; 18 /*
19 * Taken from Raspberry-Pi-Rev-1.0-Model-AB-Schematics.pdf
20 * RPI00021 sheet 02
21 *
22 * Legend:
23 * "NC" = not connected (no rail from the SoC)
24 * "FOO" = GPIO line named "FOO" on the schematic
25 * "FOO_N" = GPIO line named "FOO" on schematic, active low
26 */
27 gpio-line-names = "SDA0",
28 "SCL0",
29 "SDA1",
30 "SCL1",
31 "GPIO_GCLK",
32 "CAM_CLK",
33 "LAN_RUN",
34 "SPI_CE1_N",
35 "SPI_CE0_N",
36 "SPI_MISO",
37 "SPI_MOSI",
38 "SPI_SCLK",
39 "NC", /* GPIO12 */
40 "NC", /* GPIO13 */
41 /* Serial port */
42 "TXD0",
43 "RXD0",
44 "STATUS_LED_N",
45 "GPIO17",
46 "GPIO18",
47 "NC", /* GPIO19 */
48 "NC", /* GPIO20 */
49 "GPIO21",
50 "GPIO22",
51 "GPIO23",
52 "GPIO24",
53 "GPIO25",
54 "NC", /* GPIO26 */
55 "CAM_GPIO",
56 /* Binary number representing build/revision */
57 "CONFIG0",
58 "CONFIG1",
59 "CONFIG2",
60 "CONFIG3",
61 "NC", /* GPIO32 */
62 "NC", /* GPIO33 */
63 "NC", /* GPIO34 */
64 "NC", /* GPIO35 */
65 "NC", /* GPIO36 */
66 "NC", /* GPIO37 */
67 "NC", /* GPIO38 */
68 "NC", /* GPIO39 */
69 "PWM0_OUT",
70 "NC", /* GPIO41 */
71 "NC", /* GPIO42 */
72 "NC", /* GPIO43 */
73 "NC", /* GPIO44 */
74 "PWM1_OUT",
75 "HDMI_HPD_P",
76 "SD_CARD_DET",
77 /* Used by SD Card */
78 "SD_CLK_R",
79 "SD_CMD_R",
80 "SD_DATA0_R",
81 "SD_DATA1_R",
82 "SD_DATA2_R",
83 "SD_DATA3_R";
84
85 pinctrl-0 = <&gpioout &alt0 &i2s_alt2>;
19 86
20 /* I2S interface */ 87 /* I2S interface */
21 i2s_alt2: i2s_alt2 { 88 i2s_alt2: i2s_alt2 {
diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
index 35cde65c975e..b67587e6cbef 100644
--- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
+++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
@@ -23,7 +23,73 @@
23}; 23};
24 24
25&gpio { 25&gpio {
26 pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>; 26 /*
27 * Taken from Raspberry-Pi-B-Plus-V1.2-Schematics.pdf
28 * RPI-BPLUS sheet 1
29 *
30 * Legend:
31 * "NC" = not connected (no rail from the SoC)
32 * "FOO" = GPIO line named "FOO" on the schematic
33 * "FOO_N" = GPIO line named "FOO" on schematic, active low
34 */
35 gpio-line-names = "SDA0",
36 "SCL0",
37 "SDA1",
38 "SCL1",
39 "GPIO_GCLK",
40 "GPIO5",
41 "GPIO6",
42 "SPI_CE1_N",
43 "SPI_CE0_N",
44 "SPI_MISO",
45 "SPI_MOSI",
46 "SPI_SCLK",
47 "GPIO12",
48 "GPIO13",
49 /* Serial port */
50 "TXD0",
51 "RXD0",
52 "GPIO16",
53 "GPIO17",
54 "GPIO18",
55 "GPIO19",
56 "GPIO20",
57 "GPIO21",
58 "GPIO22",
59 "GPIO23",
60 "GPIO24",
61 "GPIO25",
62 "GPIO26",
63 "GPIO27",
64 "SDA0",
65 "SCL0",
66 "NC", /* GPIO30 */
67 "LAN_RUN", /* GPIO31 */
68 "CAM_GPIO1", /* GPIO32 */
69 "NC", /* GPIO33 */
70 "NC", /* GPIO34 */
71 "PWR_LOW_N", /* GPIO35 */
72 "NC", /* GPIO36 */
73 "NC", /* GPIO37 */
74 "NC", /* GPIO38 */
75 "NC", /* GPIO39 */
76 "PWM0_OUT", /* GPIO40 */
77 "CAM_GPIO0", /* GPIO41 */
78 "NC", /* GPIO42 */
79 "NC", /* GPIO43 */
80 "ETHCLK", /* GPIO44 */
81 "PWM1_OUT", /* GPIO45 */
82 "HDMI_HPD_N",
83 "STATUS_LED",
84 /* Used by SD Card */
85 "SD_CLK_R",
86 "SD_CMD_R",
87 "SD_DATA0_R",
88 "SD_DATA1_R",
89 "SD_DATA2_R",
90 "SD_DATA3_R";
91
92 pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
27 93
28 /* I2S interface */ 94 /* I2S interface */
29 i2s_alt0: i2s_alt0 { 95 i2s_alt0: i2s_alt0 {
diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
index 84df85ea6296..4133bc2cd9be 100644
--- a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
+++ b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
@@ -16,7 +16,73 @@
16}; 16};
17 17
18&gpio { 18&gpio {
19 pinctrl-0 = <&gpioout &alt0 &i2s_alt2 &alt3>; 19 /*
20 * Taken from Raspberry-Pi-Rev-2.0-Model-AB-Schematics.pdf
21 * RPI00022 sheet 02
22 *
23 * Legend:
24 * "NC" = not connected (no rail from the SoC)
25 * "FOO" = GPIO line named "FOO" on the schematic
26 * "FOO_N" = GPIO line named "FOO" on schematic, active low
27 */
28 gpio-line-names = "SDA0",
29 "SCL0",
30 "SDA1",
31 "SCL1",
32 "GPIO_GCLK",
33 "CAM_CLK",
34 "LAN_RUN",
35 "SPI_CE1_N",
36 "SPI_CE0_N",
37 "SPI_MISO",
38 "SPI_MOSI",
39 "SPI_SCLK",
40 "NC", /* GPIO12 */
41 "NC", /* GPIO13 */
42 /* Serial port */
43 "TXD0",
44 "RXD0",
45 "STATUS_LED_N",
46 "GPIO17",
47 "GPIO18",
48 "NC", /* GPIO19 */
49 "NC", /* GPIO20 */
50 "CAM_GPIO",
51 "GPIO22",
52 "GPIO23",
53 "GPIO24",
54 "GPIO25",
55 "NC", /* GPIO26 */
56 "GPIO27",
57 "GPIO28",
58 "GPIO29",
59 "GPIO30",
60 "GPIO31",
61 "NC", /* GPIO32 */
62 "NC", /* GPIO33 */
63 "NC", /* GPIO34 */
64 "NC", /* GPIO35 */
65 "NC", /* GPIO36 */
66 "NC", /* GPIO37 */
67 "NC", /* GPIO38 */
68 "NC", /* GPIO39 */
69 "PWM0_OUT",
70 "NC", /* GPIO41 */
71 "NC", /* GPIO42 */
72 "NC", /* GPIO43 */
73 "NC", /* GPIO44 */
74 "PWM1_OUT",
75 "HDMI_HPD_P",
76 "SD_CARD_DET",
77 /* Used by SD Card */
78 "SD_CLK_R",
79 "SD_CMD_R",
80 "SD_DATA0_R",
81 "SD_DATA1_R",
82 "SD_DATA2_R",
83 "SD_DATA3_R";
84
85 pinctrl-0 = <&gpioout &alt0 &i2s_alt2>;
20 86
21 /* I2S interface */ 87 /* I2S interface */
22 i2s_alt2: i2s_alt2 { 88 i2s_alt2: i2s_alt2 {
diff --git a/arch/arm/boot/dts/bcm2835-rpi-b.dts b/arch/arm/boot/dts/bcm2835-rpi-b.dts
index 8e626a80fe24..71f50e16c646 100644
--- a/arch/arm/boot/dts/bcm2835-rpi-b.dts
+++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts
@@ -16,7 +16,74 @@
16}; 16};
17 17
18&gpio { 18&gpio {
19 pinctrl-0 = <&gpioout &alt0 &alt3>; 19 /*
20 * Taken from Raspberry-Pi-Rev-1.0-Model-AB-Schematics.pdf
21 * RPI00021 sheet 02
22 *
23 * Legend:
24 * "NC" = not connected (no rail from the SoC)
25 * "FOO" = GPIO line named "FOO" on the schematic
26 * "FOO_N" = GPIO line named "FOO" on schematic, active low
27 */
28 gpio-line-names = "SDA0",
29 "SCL0",
30 "SDA1",
31 "SCL1",
32 "GPIO_GCLK",
33 "CAM_CLK",
34 "LAN_RUN",
35 "SPI_CE1_N",
36 "SPI_CE0_N",
37 "SPI_MISO",
38 "SPI_MOSI",
39 "SPI_SCLK",
40 "NC", /* GPIO12 */
41 "NC", /* GPIO13 */
42 /* Serial port */
43 "TXD0",
44 "RXD0",
45 "STATUS_LED_N",
46 "GPIO17",
47 "GPIO18",
48 "NC", /* GPIO19 */
49 "NC", /* GPIO20 */
50 "GPIO21",
51 "GPIO22",
52 "GPIO23",
53 "GPIO24",
54 "GPIO25",
55 "NC", /* GPIO26 */
56 "CAM_GPIO",
57 /* Binary number representing build/revision */
58 "CONFIG0",
59 "CONFIG1",
60 "CONFIG2",
61 "CONFIG3",
62 "NC", /* GPIO32 */
63 "NC", /* GPIO33 */
64 "NC", /* GPIO34 */
65 "NC", /* GPIO35 */
66 "NC", /* GPIO36 */
67 "NC", /* GPIO37 */
68 "NC", /* GPIO38 */
69 "NC", /* GPIO39 */
70 "PWM0_OUT",
71 "NC", /* GPIO41 */
72 "NC", /* GPIO42 */
73 "NC", /* GPIO43 */
74 "NC", /* GPIO44 */
75 "PWM1_OUT",
76 "HDMI_HPD_P",
77 "SD_CARD_DET",
78 /* Used by SD Card */
79 "SD_CLK_R",
80 "SD_CMD_R",
81 "SD_DATA0_R",
82 "SD_DATA1_R",
83 "SD_DATA2_R",
84 "SD_DATA3_R";
85
86 pinctrl-0 = <&gpioout &alt0>;
20}; 87};
21 88
22&hdmi { 89&hdmi {
diff --git a/arch/arm/boot/dts/bcm2835-rpi-zero.dts b/arch/arm/boot/dts/bcm2835-rpi-zero.dts
index 60e359fafc5b..7c1c18048948 100644
--- a/arch/arm/boot/dts/bcm2835-rpi-zero.dts
+++ b/arch/arm/boot/dts/bcm2835-rpi-zero.dts
@@ -26,7 +26,7 @@
26}; 26};
27 27
28&gpio { 28&gpio {
29 pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>; 29 pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
30 30
31 /* I2S interface */ 31 /* I2S interface */
32 i2s_alt0: i2s_alt0 { 32 i2s_alt0: i2s_alt0 {
diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi
index e9b47b2bbc33..6ddf7dfe3f72 100644
--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
@@ -39,22 +39,21 @@
39 }; 39 };
40 40
41 alt0: alt0 { 41 alt0: alt0 {
42 brcm,pins = <0 1 2 3 4 5 7 8 9 10 11 14 15 40 45>; 42 brcm,pins = <4 5 7 8 9 10 11 14 15>;
43 brcm,function = <BCM2835_FSEL_ALT0>; 43 brcm,function = <BCM2835_FSEL_ALT0>;
44 }; 44 };
45
46 alt3: alt3 {
47 brcm,pins = <48 49 50 51 52 53>;
48 brcm,function = <BCM2835_FSEL_ALT3>;
49 };
50}; 45};
51 46
52&i2c0 { 47&i2c0 {
48 pinctrl-names = "default";
49 pinctrl-0 = <&i2c0_gpio0>;
53 status = "okay"; 50 status = "okay";
54 clock-frequency = <100000>; 51 clock-frequency = <100000>;
55}; 52};
56 53
57&i2c1 { 54&i2c1 {
55 pinctrl-names = "default";
56 pinctrl-0 = <&i2c1_gpio2>;
58 status = "okay"; 57 status = "okay";
59 clock-frequency = <100000>; 58 clock-frequency = <100000>;
60}; 59};
@@ -64,11 +63,15 @@
64}; 63};
65 64
66&sdhci { 65&sdhci {
66 pinctrl-names = "default";
67 pinctrl-0 = <&emmc_gpio48>;
67 status = "okay"; 68 status = "okay";
68 bus-width = <4>; 69 bus-width = <4>;
69}; 70};
70 71
71&pwm { 72&pwm {
73 pinctrl-names = "default";
74 pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>;
72 status = "okay"; 75 status = "okay";
73}; 76};
74 77
diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi
index a78759e73710..0890d97e674d 100644
--- a/arch/arm/boot/dts/bcm2835.dtsi
+++ b/arch/arm/boot/dts/bcm2835.dtsi
@@ -23,3 +23,9 @@
23 }; 23 };
24 }; 24 };
25}; 25};
26
27/* enable thermal sensor with the correct compatible property set */
28&thermal {
29 compatible = "brcm,bcm2835-thermal";
30 status = "okay";
31};
diff --git a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
index 39dccf62ac96..bf19e8cfb9e6 100644
--- a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
+++ b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
@@ -27,7 +27,7 @@
27}; 27};
28 28
29&gpio { 29&gpio {
30 pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>; 30 pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
31 31
32 /* I2S interface */ 32 /* I2S interface */
33 i2s_alt0: i2s_alt0 { 33 i2s_alt0: i2s_alt0 {
diff --git a/arch/arm/boot/dts/bcm2836.dtsi b/arch/arm/boot/dts/bcm2836.dtsi
index 9d0651d8f373..519a44f5d25a 100644
--- a/arch/arm/boot/dts/bcm2836.dtsi
+++ b/arch/arm/boot/dts/bcm2836.dtsi
@@ -76,3 +76,9 @@
76 interrupt-parent = <&local_intc>; 76 interrupt-parent = <&local_intc>;
77 interrupts = <8>; 77 interrupts = <8>;
78}; 78};
79
80/* enable thermal sensor with the correct compatible property set */
81&thermal {
82 compatible = "brcm,bcm2836-thermal";
83 status = "okay";
84};
diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
index 46d46d894a44..9a44da190897 100644
--- a/arch/arm/boot/dts/bcm283x.dtsi
+++ b/arch/arm/boot/dts/bcm283x.dtsi
@@ -104,7 +104,7 @@
104 reg = <0x7e104000 0x10>; 104 reg = <0x7e104000 0x10>;
105 }; 105 };
106 106
107 mailbox: mailbox@7e00b800 { 107 mailbox: mailbox@7e00b880 {
108 compatible = "brcm,bcm2835-mbox"; 108 compatible = "brcm,bcm2835-mbox";
109 reg = <0x7e00b880 0x40>; 109 reg = <0x7e00b880 0x40>;
110 interrupts = <0 1>; 110 interrupts = <0 1>;
@@ -132,6 +132,209 @@
132 132
133 interrupt-controller; 133 interrupt-controller;
134 #interrupt-cells = <2>; 134 #interrupt-cells = <2>;
135
136 /* Defines pin muxing groups according to
137 * BCM2835-ARM-Peripherals.pdf page 102.
138 *
139 * While each pin can have its mux selected
140 * for various functions individually, some
141 * groups only make sense to switch to a
142 * particular function together.
143 */
144 dpi_gpio0: dpi_gpio0 {
145 brcm,pins = <0 1 2 3 4 5 6 7 8 9 10 11
146 12 13 14 15 16 17 18 19
147 20 21 22 23 24 25 26 27>;
148 brcm,function = <BCM2835_FSEL_ALT2>;
149 };
150 emmc_gpio22: emmc_gpio22 {
151 brcm,pins = <22 23 24 25 26 27>;
152 brcm,function = <BCM2835_FSEL_ALT3>;
153 };
154 emmc_gpio34: emmc_gpio34 {
155 brcm,pins = <34 35 36 37 38 39>;
156 brcm,function = <BCM2835_FSEL_ALT3>;
157 brcm,pull = <BCM2835_PUD_OFF
158 BCM2835_PUD_UP
159 BCM2835_PUD_UP
160 BCM2835_PUD_UP
161 BCM2835_PUD_UP
162 BCM2835_PUD_UP>;
163 };
164 emmc_gpio48: emmc_gpio48 {
165 brcm,pins = <48 49 50 51 52 53>;
166 brcm,function = <BCM2835_FSEL_ALT3>;
167 };
168
169 gpclk0_gpio4: gpclk0_gpio4 {
170 brcm,pins = <4>;
171 brcm,function = <BCM2835_FSEL_ALT0>;
172 };
173 gpclk1_gpio5: gpclk1_gpio5 {
174 brcm,pins = <5>;
175 brcm,function = <BCM2835_FSEL_ALT0>;
176 };
177 gpclk1_gpio42: gpclk1_gpio42 {
178 brcm,pins = <42>;
179 brcm,function = <BCM2835_FSEL_ALT0>;
180 };
181 gpclk1_gpio44: gpclk1_gpio44 {
182 brcm,pins = <44>;
183 brcm,function = <BCM2835_FSEL_ALT0>;
184 };
185 gpclk2_gpio6: gpclk2_gpio6 {
186 brcm,pins = <6>;
187 brcm,function = <BCM2835_FSEL_ALT0>;
188 };
189 gpclk2_gpio43: gpclk2_gpio43 {
190 brcm,pins = <43>;
191 brcm,function = <BCM2835_FSEL_ALT0>;
192 };
193
194 i2c0_gpio0: i2c0_gpio0 {
195 brcm,pins = <0 1>;
196 brcm,function = <BCM2835_FSEL_ALT0>;
197 };
198 i2c0_gpio32: i2c0_gpio32 {
199 brcm,pins = <32 34>;
200 brcm,function = <BCM2835_FSEL_ALT0>;
201 };
202 i2c0_gpio44: i2c0_gpio44 {
203 brcm,pins = <44 45>;
204 brcm,function = <BCM2835_FSEL_ALT1>;
205 };
206 i2c1_gpio2: i2c1_gpio2 {
207 brcm,pins = <2 3>;
208 brcm,function = <BCM2835_FSEL_ALT0>;
209 };
210 i2c1_gpio44: i2c1_gpio44 {
211 brcm,pins = <44 45>;
212 brcm,function = <BCM2835_FSEL_ALT2>;
213 };
214 i2c_slave_gpio18: i2c_slave_gpio18 {
215 brcm,pins = <18 19 20 21>;
216 brcm,function = <BCM2835_FSEL_ALT3>;
217 };
218
219 jtag_gpio4: jtag_gpio4 {
220 brcm,pins = <4 5 6 12 13>;
221 brcm,function = <BCM2835_FSEL_ALT4>;
222 };
223 jtag_gpio22: jtag_gpio22 {
224 brcm,pins = <22 23 24 25 26 27>;
225 brcm,function = <BCM2835_FSEL_ALT4>;
226 };
227
228 pcm_gpio18: pcm_gpio18 {
229 brcm,pins = <18 19 20 21>;
230 brcm,function = <BCM2835_FSEL_ALT0>;
231 };
232 pcm_gpio28: pcm_gpio28 {
233 brcm,pins = <28 29 30 31>;
234 brcm,function = <BCM2835_FSEL_ALT2>;
235 };
236
237 pwm0_gpio12: pwm0_gpio12 {
238 brcm,pins = <12>;
239 brcm,function = <BCM2835_FSEL_ALT0>;
240 };
241 pwm0_gpio18: pwm0_gpio18 {
242 brcm,pins = <18>;
243 brcm,function = <BCM2835_FSEL_ALT5>;
244 };
245 pwm0_gpio40: pwm0_gpio40 {
246 brcm,pins = <40>;
247 brcm,function = <BCM2835_FSEL_ALT0>;
248 };
249 pwm1_gpio13: pwm1_gpio13 {
250 brcm,pins = <13>;
251 brcm,function = <BCM2835_FSEL_ALT0>;
252 };
253 pwm1_gpio19: pwm1_gpio19 {
254 brcm,pins = <19>;
255 brcm,function = <BCM2835_FSEL_ALT5>;
256 };
257 pwm1_gpio41: pwm1_gpio41 {
258 brcm,pins = <41>;
259 brcm,function = <BCM2835_FSEL_ALT0>;
260 };
261 pwm1_gpio45: pwm1_gpio45 {
262 brcm,pins = <45>;
263 brcm,function = <BCM2835_FSEL_ALT0>;
264 };
265
266 sdhost_gpio48: sdhost_gpio48 {
267 brcm,pins = <48 49 50 51 52 53>;
268 brcm,function = <BCM2835_FSEL_ALT0>;
269 };
270
271 spi0_gpio7: spi0_gpio7 {
272 brcm,pins = <7 8 9 10 11>;
273 brcm,function = <BCM2835_FSEL_ALT0>;
274 };
275 spi0_gpio35: spi0_gpio35 {
276 brcm,pins = <35 36 37 38 39>;
277 brcm,function = <BCM2835_FSEL_ALT0>;
278 };
279 spi1_gpio16: spi1_gpio16 {
280 brcm,pins = <16 17 18 19 20 21>;
281 brcm,function = <BCM2835_FSEL_ALT4>;
282 };
283 spi2_gpio40: spi2_gpio40 {
284 brcm,pins = <40 41 42 43 44 45>;
285 brcm,function = <BCM2835_FSEL_ALT4>;
286 };
287
288 uart0_gpio14: uart0_gpio14 {
289 brcm,pins = <14 15>;
290 brcm,function = <BCM2835_FSEL_ALT0>;
291 };
292 /* Separate from the uart0_gpio14 group
293 * because it conflicts with spi1_gpio16, and
294 * people often run uart0 on the two pins
295 * without flow contrl.
296 */
297 uart0_ctsrts_gpio16: uart0_ctsrts_gpio16 {
298 brcm,pins = <16 17>;
299 brcm,function = <BCM2835_FSEL_ALT3>;
300 };
301 uart0_gpio30: uart0_gpio30 {
302 brcm,pins = <30 31>;
303 brcm,function = <BCM2835_FSEL_ALT3>;
304 };
305 uart0_ctsrts_gpio32: uart0_ctsrts_gpio32 {
306 brcm,pins = <32 33>;
307 brcm,function = <BCM2835_FSEL_ALT3>;
308 };
309
310 uart1_gpio14: uart1_gpio14 {
311 brcm,pins = <14 15>;
312 brcm,function = <BCM2835_FSEL_ALT5>;
313 };
314 uart1_ctsrts_gpio16: uart1_ctsrts_gpio16 {
315 brcm,pins = <16 17>;
316 brcm,function = <BCM2835_FSEL_ALT5>;
317 };
318 uart1_gpio32: uart1_gpio32 {
319 brcm,pins = <32 33>;
320 brcm,function = <BCM2835_FSEL_ALT5>;
321 };
322 uart1_ctsrts_gpio30: uart1_ctsrts_gpio30 {
323 brcm,pins = <30 31>;
324 brcm,function = <BCM2835_FSEL_ALT5>;
325 };
326 uart1_gpio36: uart1_gpio36 {
327 brcm,pins = <36 37 38 39>;
328 brcm,function = <BCM2835_FSEL_ALT2>;
329 };
330 uart1_gpio40: uart1_gpio40 {
331 brcm,pins = <40 41>;
332 brcm,function = <BCM2835_FSEL_ALT5>;
333 };
334 uart1_ctsrts_gpio42: uart1_ctsrts_gpio42 {
335 brcm,pins = <42 43>;
336 brcm,function = <BCM2835_FSEL_ALT5>;
337 };
135 }; 338 };
136 339
137 uart0: serial@7e201000 { 340 uart0: serial@7e201000 {
@@ -187,6 +390,13 @@
187 interrupts = <2 14>; /* pwa1 */ 390 interrupts = <2 14>; /* pwa1 */
188 }; 391 };
189 392
393 thermal: thermal@7e212000 {
394 compatible = "brcm,bcm2835-thermal";
395 reg = <0x7e212000 0x8>;
396 clocks = <&clocks BCM2835_CLOCK_TSENS>;
397 status = "disabled";
398 };
399
190 aux: aux@0x7e215000 { 400 aux: aux@0x7e215000 {
191 compatible = "brcm,bcm2835-aux"; 401 compatible = "brcm,bcm2835-aux";
192 #clock-cells = <1>; 402 #clock-cells = <1>;
diff --git a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
index 7841b724e340..c309633a1e87 100644
--- a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
+++ b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
@@ -2,6 +2,7 @@
2#include "bcm2837.dtsi" 2#include "bcm2837.dtsi"
3#include "bcm2835-rpi.dtsi" 3#include "bcm2835-rpi.dtsi"
4#include "bcm283x-rpi-smsc9514.dtsi" 4#include "bcm283x-rpi-smsc9514.dtsi"
5#include "bcm283x-rpi-usb-host.dtsi"
5 6
6/ { 7/ {
7 compatible = "raspberrypi,3-model-b", "brcm,bcm2837"; 8 compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
@@ -15,13 +16,6 @@
15 act { 16 act {
16 gpios = <&gpio 47 0>; 17 gpios = <&gpio 47 0>;
17 }; 18 };
18
19 pwr {
20 label = "PWR";
21 gpios = <&gpio 35 0>;
22 default-state = "keep";
23 linux,default-trigger = "default-on";
24 };
25 }; 19 };
26}; 20};
27 21
diff --git a/arch/arm64/boot/dts/broadcom/bcm2837.dtsi b/arch/arm64/boot/dts/broadcom/bcm2837.dtsi
index 8216bbb29fe0..19f2fe620a21 100644
--- a/arch/arm64/boot/dts/broadcom/bcm2837.dtsi
+++ b/arch/arm64/boot/dts/broadcom/bcm2837.dtsi
@@ -1,7 +1,7 @@
1#include "bcm283x.dtsi" 1#include "bcm283x.dtsi"
2 2
3/ { 3/ {
4 compatible = "brcm,bcm2836"; 4 compatible = "brcm,bcm2837";
5 5
6 soc { 6 soc {
7 ranges = <0x7e000000 0x3f000000 0x1000000>, 7 ranges = <0x7e000000 0x3f000000 0x1000000>,
@@ -74,3 +74,9 @@
74 interrupt-parent = <&local_intc>; 74 interrupt-parent = <&local_intc>;
75 interrupts = <8>; 75 interrupts = <8>;
76}; 76};
77
78/* enable thermal sensor with the correct compatible property set */
79&thermal {
80 compatible = "brcm,bcm2837-thermal";
81 status = "okay";
82};
diff --git a/arch/arm64/boot/dts/broadcom/bcm283x-rpi-usb-host.dtsi b/arch/arm64/boot/dts/broadcom/bcm283x-rpi-usb-host.dtsi
new file mode 120000
index 000000000000..cbeebe312ff8
--- /dev/null
+++ b/arch/arm64/boot/dts/broadcom/bcm283x-rpi-usb-host.dtsi
@@ -0,0 +1 @@
../../../../arm/boot/dts/bcm283x-rpi-usb-host.dtsi \ No newline at end of file
diff --git a/arch/arm64/boot/dts/broadcom/ns2-svk.dts b/arch/arm64/boot/dts/broadcom/ns2-svk.dts
index b09f3bc5c6c1..34619079a6c6 100644
--- a/arch/arm64/boot/dts/broadcom/ns2-svk.dts
+++ b/arch/arm64/boot/dts/broadcom/ns2-svk.dts
@@ -157,6 +157,10 @@
157 status = "ok"; 157 status = "ok";
158}; 158};
159 159
160&sdio1 {
161 status = "ok";
162};
163
160&nand { 164&nand {
161 nandcs@0 { 165 nandcs@0 {
162 compatible = "brcm,nandcs"; 166 compatible = "brcm,nandcs";
@@ -187,3 +191,37 @@
187 groups = "nand_grp"; 191 groups = "nand_grp";
188 }; 192 };
189}; 193};
194
195&qspi {
196 bspi-sel = <0>;
197 flash: m25p80@0 {
198 #address-cells = <1>;
199 #size-cells = <1>;
200 compatible = "m25p80";
201 reg = <0x0>;
202 spi-max-frequency = <12500000>;
203 m25p,fast-read;
204 spi-cpol;
205 spi-cpha;
206
207 partition@0 {
208 label = "boot";
209 reg = <0x00000000 0x000a0000>;
210 };
211
212 partition@a0000 {
213 label = "env";
214 reg = <0x000a0000 0x00060000>;
215 };
216
217 partition@100000 {
218 label = "system";
219 reg = <0x00100000 0x00600000>;
220 };
221
222 partition@700000 {
223 label = "rootfs";
224 reg = <0x00700000 0x01900000>;
225 };
226 };
227};
diff --git a/arch/arm64/boot/dts/broadcom/ns2.dtsi b/arch/arm64/boot/dts/broadcom/ns2.dtsi
index d95dc408629a..863503d78f57 100644
--- a/arch/arm64/boot/dts/broadcom/ns2.dtsi
+++ b/arch/arm64/boot/dts/broadcom/ns2.dtsi
@@ -133,6 +133,9 @@
133 133
134 status = "disabled"; 134 status = "disabled";
135 135
136 phys = <&pci_phy0>;
137 phy-names = "pcie-phy";
138
136 msi-parent = <&msi0>; 139 msi-parent = <&msi0>;
137 msi0: msi@20020000 { 140 msi0: msi@20020000 {
138 compatible = "brcm,iproc-msi"; 141 compatible = "brcm,iproc-msi";
@@ -171,6 +174,9 @@
171 174
172 status = "disabled"; 175 status = "disabled";
173 176
177 phys = <&pci_phy1>;
178 phy-names = "pcie-phy";
179
174 msi-parent = <&msi4>; 180 msi-parent = <&msi4>;
175 msi4: msi@50020000 { 181 msi4: msi@50020000 {
176 compatible = "brcm,iproc-msi"; 182 compatible = "brcm,iproc-msi";
@@ -191,6 +197,42 @@
191 197
192 #include "ns2-clock.dtsi" 198 #include "ns2-clock.dtsi"
193 199
200 pdc0: iproc-pdc0@612c0000 {
201 compatible = "brcm,iproc-pdc-mbox";
202 reg = <0x612c0000 0x445>; /* PDC FS0 regs */
203 interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
204 #mbox-cells = <1>;
205 brcm,rx-status-len = <32>;
206 brcm,use-bcm-hdr;
207 };
208
209 pdc1: iproc-pdc1@612e0000 {
210 compatible = "brcm,iproc-pdc-mbox";
211 reg = <0x612e0000 0x445>; /* PDC FS1 regs */
212 interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
213 #mbox-cells = <1>;
214 brcm,rx-status-len = <32>;
215 brcm,use-bcm-hdr;
216 };
217
218 pdc2: iproc-pdc2@61300000 {
219 compatible = "brcm,iproc-pdc-mbox";
220 reg = <0x61300000 0x445>; /* PDC FS2 regs */
221 interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
222 #mbox-cells = <1>;
223 brcm,rx-status-len = <32>;
224 brcm,use-bcm-hdr;
225 };
226
227 pdc3: iproc-pdc3@61320000 {
228 compatible = "brcm,iproc-pdc-mbox";
229 reg = <0x61320000 0x445>; /* PDC FS3 regs */
230 interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
231 #mbox-cells = <1>;
232 brcm,rx-status-len = <32>;
233 brcm,use-bcm-hdr;
234 };
235
194 dma0: dma@61360000 { 236 dma0: dma@61360000 {
195 compatible = "arm,pl330", "arm,primecell"; 237 compatible = "arm,pl330", "arm,primecell";
196 reg = <0x61360000 0x1000>; 238 reg = <0x61360000 0x1000>;
@@ -248,7 +290,7 @@
248 <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>, 290 <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,
249 <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>, 291 <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>,
250 <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>; 292 <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>;
251 mmu-masters; 293 #iommu-cells = <1>;
252 }; 294 };
253 295
254 pinctrl: pinctrl@6501d130 { 296 pinctrl: pinctrl@6501d130 {
@@ -565,5 +607,23 @@
565 607
566 brcm,nand-has-wp; 608 brcm,nand-has-wp;
567 }; 609 };
610
611 qspi: spi@66470200 {
612 compatible = "brcm,spi-bcm-qspi", "brcm,spi-ns2-qspi";
613 reg = <0x66470200 0x184>,
614 <0x66470000 0x124>,
615 <0x67017408 0x004>,
616 <0x664703a0 0x01c>;
617 reg-names = "mspi", "bspi", "intr_regs",
618 "intr_status_reg";
619 interrupts = <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>;
620 interrupt-names = "spi_l1_intr";
621 clocks = <&iprocmed>;
622 clock-names = "iprocmed";
623 num-cs = <2>;
624 #address-cells = <1>;
625 #size-cells = <0>;
626 };
627
568 }; 628 };
569}; 629};
diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
index fa77165fab2c..4cf612bcfdfa 100644
--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
@@ -76,12 +76,6 @@ enum bcm2835_pinconf_param {
76 BCM2835_PINCONF_PARAM_PULL, 76 BCM2835_PINCONF_PARAM_PULL,
77}; 77};
78 78
79enum bcm2835_pinconf_pull {
80 BCM2835_PINCONFIG_PULL_NONE,
81 BCM2835_PINCONFIG_PULL_DOWN,
82 BCM2835_PINCONFIG_PULL_UP,
83};
84
85#define BCM2835_PINCONF_PACK(_param_, _arg_) ((_param_) << 16 | (_arg_)) 79#define BCM2835_PINCONF_PACK(_param_, _arg_) ((_param_) << 16 | (_arg_))
86#define BCM2835_PINCONF_UNPACK_PARAM(_conf_) ((_conf_) >> 16) 80#define BCM2835_PINCONF_UNPACK_PARAM(_conf_) ((_conf_) >> 16)
87#define BCM2835_PINCONF_UNPACK_ARG(_conf_) ((_conf_) & 0xffff) 81#define BCM2835_PINCONF_UNPACK_ARG(_conf_) ((_conf_) & 0xffff)
diff --git a/include/dt-bindings/pinctrl/bcm2835.h b/include/dt-bindings/pinctrl/bcm2835.h
index 6f0bc37af39c..e4e4fdf5d38f 100644
--- a/include/dt-bindings/pinctrl/bcm2835.h
+++ b/include/dt-bindings/pinctrl/bcm2835.h
@@ -24,4 +24,9 @@
24#define BCM2835_FSEL_ALT2 6 24#define BCM2835_FSEL_ALT2 6
25#define BCM2835_FSEL_ALT3 7 25#define BCM2835_FSEL_ALT3 7
26 26
27/* brcm,pull property */
28#define BCM2835_PUD_OFF 0
29#define BCM2835_PUD_DOWN 1
30#define BCM2835_PUD_UP 2
31
27#endif /* __DT_BINDINGS_PINCTRL_BCM2835_H__ */ 32#endif /* __DT_BINDINGS_PINCTRL_BCM2835_H__ */