aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.9/031-v4.10-0009-ARM-bcm2835-Add-names-for-the-Raspberry-Pi-GPIO-line.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-4.9/031-v4.10-0009-ARM-bcm2835-Add-names-for-the-Raspberry-Pi-GPIO-line.patch')
-rw-r--r--target/linux/brcm2708/patches-4.9/031-v4.10-0009-ARM-bcm2835-Add-names-for-the-Raspberry-Pi-GPIO-line.patch414
1 files changed, 414 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.9/031-v4.10-0009-ARM-bcm2835-Add-names-for-the-Raspberry-Pi-GPIO-line.patch b/target/linux/brcm2708/patches-4.9/031-v4.10-0009-ARM-bcm2835-Add-names-for-the-Raspberry-Pi-GPIO-line.patch
new file mode 100644
index 0000000000..da6c3b624d
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.9/031-v4.10-0009-ARM-bcm2835-Add-names-for-the-Raspberry-Pi-GPIO-line.patch
@@ -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>;
+ };
+