diff options
author | Florian Fainelli <f.fainelli@gmail.com> | 2016-11-22 00:09:19 -0500 |
---|---|---|
committer | Florian Fainelli <f.fainelli@gmail.com> | 2016-11-22 00:09:19 -0500 |
commit | e687607116bc45afcbbcd0097129573f9729ff21 (patch) | |
tree | d0bd833220950b03e2cd4edbda7a35184614e559 | |
parent | 7af371a70139d2e18350365d8685d4fc1cc67973 (diff) | |
parent | a44e87b47148c6ee6b78509f47e6a15c0fae890a (diff) |
Merge tag 'bcm2835-dt-64-next-2016-11-18' into devicetree-arm64/next
This pull request brings thermal support to the BCM2837 DT, and a few
other fixes.
In order to get the thermal node that we're adjusting the compatible
string on, we have to merge in the bcm2835-dt-next branch.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
-rw-r--r-- | Documentation/devicetree/bindings/mailbox/brcm,bcm2835-mbox.txt | 2 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/thermal/brcm,bcm2835-thermal.txt | 17 | ||||
-rw-r--r-- | arch/arm/boot/dts/bcm2835-rpi-a-plus.dts | 67 | ||||
-rw-r--r-- | arch/arm/boot/dts/bcm2835-rpi-a.dts | 69 | ||||
-rw-r--r-- | arch/arm/boot/dts/bcm2835-rpi-b-plus.dts | 68 | ||||
-rw-r--r-- | arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts | 68 | ||||
-rw-r--r-- | arch/arm/boot/dts/bcm2835-rpi-b.dts | 69 | ||||
-rw-r--r-- | arch/arm/boot/dts/bcm2835-rpi-zero.dts | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/bcm2835-rpi.dtsi | 15 | ||||
-rw-r--r-- | arch/arm/boot/dts/bcm2835.dtsi | 6 | ||||
-rw-r--r-- | arch/arm/boot/dts/bcm2836-rpi-2-b.dts | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/bcm2836.dtsi | 6 | ||||
-rw-r--r-- | arch/arm/boot/dts/bcm283x.dtsi | 212 | ||||
-rw-r--r-- | arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts | 8 | ||||
-rw-r--r-- | arch/arm64/boot/dts/broadcom/bcm2837.dtsi | 8 | ||||
l--------- | arch/arm64/boot/dts/broadcom/bcm283x-rpi-usb-host.dtsi | 1 | ||||
-rw-r--r-- | drivers/pinctrl/bcm/pinctrl-bcm2835.c | 6 | ||||
-rw-r--r-- | include/dt-bindings/pinctrl/bcm2835.h | 5 |
18 files changed, 602 insertions, 29 deletions
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 | ||
13 | Example: | 13 | Example: |
14 | 14 | ||
15 | mailbox: mailbox@7e00b800 { | 15 | mailbox: 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 @@ | |||
1 | Binding for Thermal Sensor driver for BCM2835 SoCs. | ||
2 | |||
3 | Required parameters: | ||
4 | ------------------- | ||
5 | |||
6 | compatible: should be one of: "brcm,bcm2835-thermal", | ||
7 | "brcm,bcm2836-thermal" or "brcm,bcm2837-thermal" | ||
8 | reg: Address range of the thermal registers. | ||
9 | clocks: Phandle of the clock used by the thermal sensor. | ||
10 | |||
11 | Example: | ||
12 | |||
13 | thermal: 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/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 | ||
79 | enum 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__ */ |