Re: [PATCH 6/6] ARM: dts: bcm283x: Add missing GPIO line names

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Jan 12, 2019 at 12:44 PM Stefan Wahren <stefan.wahren@xxxxxxxx> wrote:
>
> The GPIO sysfs is deprecated and disabled in the defconfig files.
> So in order to motivate the usage of the new GPIO character device API
> add the missing GPIO line names for Raspberry Pi 2 and 3. In the lack
> of full schematics i would leave all undocumented pins as unnamed.
>
> Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx>
Tested-by: Peter Robinson <pbrobinson@xxxxxxxxx>

Tested on RPi2/3/3B+ using lsgpio

> ---
>  arch/arm/boot/dts/bcm2836-rpi-2-b.dts      | 66 ++++++++++++++++++++++++++++
>  arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts | 70 ++++++++++++++++++++++++++++++
>  arch/arm/boot/dts/bcm2837-rpi-3-b.dts      | 70 ++++++++++++++++++++++++++++++
>  3 files changed, 206 insertions(+)
>
> diff --git a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
> index 871fc4a..7b4e651 100644
> --- a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
> +++ b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
> @@ -28,6 +28,72 @@
>  };
>
>  &gpio {
> +       /*
> +        * Taken from rpi_SCH_2b_1p2_reduced.pdf and
> +        * 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 = "ID_SDA",
> +                         "ID_SCL",
> +                         "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",
> +                         "", /* GPIO30 */
> +                         "LAN_RUN",
> +                         "CAM_GPIO1",
> +                         "", /* GPIO33 */
> +                         "", /* GPIO34 */
> +                         "PWR_LOW_N",
> +                         "", /* GPIO36 */
> +                         "", /* GPIO37 */
> +                         "USB_LIMIT",
> +                         "", /* GPIO39 */
> +                         "PWM0_OUT",
> +                         "CAM_GPIO0",
> +                         "SMPS_SCL",
> +                         "SMPS_SDA",
> +                         "ETHCLK",
> +                         "PWM1_OUT",
> +                         "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 */
> diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts
> index d3ec6cd..c6fa34c 100644
> --- a/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts
> +++ b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts
> @@ -52,6 +52,76 @@
>         };
>  };
>
> +&gpio {
> +       /*
> +        * Taken from rpi_SCH_3bplus_1p0_reduced.pdf and
> +        * 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 = "ID_SDA",
> +                         "ID_SCL",
> +                         "SDA1",
> +                         "SCL1",
> +                         "GPIO_GCLK",
> +                         "GPIO5",
> +                         "GPIO6",
> +                         "SPI_CE1_N",
> +                         "SPI_CE0_N",
> +                         "SPI_MISO",
> +                         "SPI_MOSI",
> +                         "SPI_SCLK",
> +                         "GPIO12",
> +                         "GPIO13",
> +                         /* Serial port */
> +                         "TXD1",
> +                         "RXD1",
> +                         "GPIO16",
> +                         "GPIO17",
> +                         "GPIO18",
> +                         "GPIO19",
> +                         "GPIO20",
> +                         "GPIO21",
> +                         "GPIO22",
> +                         "GPIO23",
> +                         "GPIO24",
> +                         "GPIO25",
> +                         "GPIO26",
> +                         "GPIO27",
> +                         "HDMI_HPD_N",
> +                         "STATUS_LED_G",
> +                         /* Used by BT module */
> +                         "CTS0",
> +                         "RTS0",
> +                         "TXD0",
> +                         "RXD0",
> +                         /* Used by Wifi */
> +                         "SD1_CLK",
> +                         "SD1_CMD",
> +                         "SD1_DATA0",
> +                         "SD1_DATA1",
> +                         "SD1_DATA2",
> +                         "SD1_DATA3",
> +                         "PWM0_OUT",
> +                         "PWM1_OUT",
> +                         "ETHCLK",
> +                         "WIFI_CLK",
> +                         "SDA0",
> +                         "SCL0",
> +                         "SMPS_SCL",
> +                         "SMPS_SDA",
> +                         /* Used by SD Card */
> +                         "SD_CLK_R",
> +                         "SD_CMD_R",
> +                         "SD_DATA0_R",
> +                         "SD_DATA1_R",
> +                         "SD_DATA2_R",
> +                         "SD_DATA3_R";
> +};
> +
>  &hdmi {
>         hpd-gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
>  };
> diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
> index 31b1c03..ce71f57 100644
> --- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
> +++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
> @@ -47,6 +47,76 @@
>         };
>  };
>
> +&gpio {
> +       /*
> +        * Taken from rpi_SCH_3b_1p2_reduced.pdf and
> +        * 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 = "ID_SDA",
> +                         "ID_SCL",
> +                         "SDA1",
> +                         "SCL1",
> +                         "GPIO_GCLK",
> +                         "GPIO5",
> +                         "GPIO6",
> +                         "SPI_CE1_N",
> +                         "SPI_CE0_N",
> +                         "SPI_MISO",
> +                         "SPI_MOSI",
> +                         "SPI_SCLK",
> +                         "GPIO12",
> +                         "GPIO13",
> +                         /* Serial port */
> +                         "TXD1",
> +                         "RXD1",
> +                         "GPIO16",
> +                         "GPIO17",
> +                         "GPIO18",
> +                         "GPIO19",
> +                         "GPIO20",
> +                         "GPIO21",
> +                         "GPIO22",
> +                         "GPIO23",
> +                         "GPIO24",
> +                         "GPIO25",
> +                         "GPIO26",
> +                         "GPIO27",
> +                         "", /* GPIO 28 */
> +                         "LAN_RUN_BOOT",
> +                         /* Used by BT module */
> +                         "CTS0",
> +                         "RTS0",
> +                         "TXD0",
> +                         "RXD0",
> +                         /* Used by Wifi */
> +                         "SD1_CLK",
> +                         "SD1_CMD",
> +                         "SD1_DATA0",
> +                         "SD1_DATA1",
> +                         "SD1_DATA2",
> +                         "SD1_DATA3",
> +                         "PWM0_OUT",
> +                         "PWM1_OUT",
> +                         "ETHCLK",
> +                         "WIFI_CLK",
> +                         "SDA0",
> +                         "SCL0",
> +                         "SMPS_SCL",
> +                         "SMPS_SDA",
> +                         /* Used by SD Card */
> +                         "SD_CLK_R",
> +                         "SD_CMD_R",
> +                         "SD_DATA0_R",
> +                         "SD_DATA1_R",
> +                         "SD_DATA2_R",
> +                         "SD_DATA3_R";
> +};
> +
>  &pwm {
>         pinctrl-names = "default";
>         pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio41>;
> --
> 2.7.4
>



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux