From 8c38f1d976f142c3ad36f4b3147935dd6e40aa5c Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Thu, 10 Jan 2019 12:57:15 +0000 Subject: [PATCH] A few Raspberry Pi cleanups, add gpio line names --- bcm2837-dts-add-Raspberry-Pi-3-A.patch | 2 +- bcm283x-Add-missing-GPIO-line-names.patch | 255 ++++++++++++++++++++++ kernel.spec | 10 +- 3 files changed, 262 insertions(+), 5 deletions(-) create mode 100644 bcm283x-Add-missing-GPIO-line-names.patch diff --git a/bcm2837-dts-add-Raspberry-Pi-3-A.patch b/bcm2837-dts-add-Raspberry-Pi-3-A.patch index 38eb40b8c..705fca6cb 100644 --- a/bcm2837-dts-add-Raspberry-Pi-3-A.patch +++ b/bcm2837-dts-add-Raspberry-Pi-3-A.patch @@ -267,7 +267,7 @@ index 0000000..b2df7cf +// SPDX-License-Identifier: GPL-2.0 +/dts-v1/; +#include "bcm2837.dtsi" -+#include "bcm2835-rpi.dtsi" ++#include "bcm2836-rpi.dtsi" +#include "bcm283x-rpi-usb-host.dtsi" + +/ { diff --git a/bcm283x-Add-missing-GPIO-line-names.patch b/bcm283x-Add-missing-GPIO-line-names.patch new file mode 100644 index 000000000..e27082ad2 --- /dev/null +++ b/bcm283x-Add-missing-GPIO-line-names.patch @@ -0,0 +1,255 @@ +From 99909530ec9b6e9b1b3b756a05a83fa1c7d6d4bc Mon Sep 17 00:00:00 2001 +From: Stefan Wahren +Date: Tue, 1 Jan 2019 18:29:08 +0100 +Subject: [PATCH] ARM: dts: bcm283x: Add missing GPIO line names + +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. + +Signed-off-by: Stefan Wahren +--- + 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 871fc4a558cf..7b4e651bafdd 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 94886fcaf0b9..9358f8481f36 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 31b1c03e0ff7..ce71f578c51a 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>; diff --git a/kernel.spec b/kernel.spec index 0d58f1a4b..dbc6589d7 100644 --- a/kernel.spec +++ b/kernel.spec @@ -574,13 +574,15 @@ Patch305: qcom-msm89xx-fixes.patch # https://patchwork.kernel.org/project/linux-mmc/list/?submitter=71861 Patch306: arm-sdhci-esdhc-imx-fixes.patch -Patch330: bcm2835-cpufreq-add-CPU-frequency-control-driver.patch - # Initall support for the 3A+ -Patch334: bcm2837-dts-add-Raspberry-Pi-3-A.patch +Patch330: bcm2837-dts-add-Raspberry-Pi-3-A.patch # https://patchwork.kernel.org/patch/10741809/ -Patch336: bcm2835-mmc-sdhci-iproc-handle-mmc_of_parse-errors-during-probe.patch +Patch331: bcm2835-mmc-sdhci-iproc-handle-mmc_of_parse-errors-during-probe.patch + +Patch332: bcm283x-Add-missing-GPIO-line-names.patch + +Patch339: bcm2835-cpufreq-add-CPU-frequency-control-driver.patch # Fix for AllWinner A64 Timer Errata, still not final # https://patchwork.kernel.org/patch/10392891/