1243 lines
29 KiB
Diff
1243 lines
29 KiB
Diff
|
From patchwork Wed Oct 4 12:39:16 2017
|
||
|
Content-Type: text/plain; charset="utf-8"
|
||
|
MIME-Version: 1.0
|
||
|
Content-Transfer-Encoding: 7bit
|
||
|
Subject: [U-Boot,
|
||
|
v2] fdt: update bcm283x device tree sources to Linux 4.14 state
|
||
|
X-Patchwork-Submitter: Alexander Graf <agraf@suse.de>
|
||
|
X-Patchwork-Id: 821297
|
||
|
Message-Id: <20171004123916.13789-1-agraf@suse.de>
|
||
|
To: u-boot@lists.denx.de
|
||
|
Cc: Stefan Wahren <stefan.wahren@i2se.com>, Fabian Vogt <fvogt@suse.com>
|
||
|
Date: Wed, 4 Oct 2017 14:39:16 +0200
|
||
|
From: Alexander Graf <agraf@suse.de>
|
||
|
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||
|
|
||
|
Upstream Linux has received a few device tree updates to the RPi
|
||
|
which we should propagate into the builtin U-Boot one as well to
|
||
|
gain hardware support.
|
||
|
|
||
|
This patch bumps the dts files to their 4.14 Linux counterparts
|
||
|
with the exception of sdhost on 32bit RPi versions. There we stay
|
||
|
with iproc as the sdhost driver is missing in U-Boot.
|
||
|
|
||
|
Signed-off-by: Alexander Graf <agraf@suse.de>
|
||
|
---
|
||
|
|
||
|
v1 -> v2:
|
||
|
|
||
|
- use sdhost on 32bit RPis
|
||
|
---
|
||
|
arch/arm/dts/bcm2835-rpi-a-plus.dts | 74 +++++++-
|
||
|
arch/arm/dts/bcm2835-rpi-a.dts | 76 +++++++-
|
||
|
arch/arm/dts/bcm2835-rpi-b-plus.dts | 75 +++++++-
|
||
|
arch/arm/dts/bcm2835-rpi-b-rev2.dts | 75 +++++++-
|
||
|
arch/arm/dts/bcm2835-rpi-b.dts | 76 +++++++-
|
||
|
arch/arm/dts/bcm2835-rpi.dtsi | 34 +++-
|
||
|
arch/arm/dts/bcm2835.dtsi | 10 +
|
||
|
arch/arm/dts/bcm2836-rpi-2-b.dts | 9 +-
|
||
|
arch/arm/dts/bcm2836.dtsi | 11 ++
|
||
|
arch/arm/dts/bcm2837-rpi-3-b.dts | 35 +++-
|
||
|
arch/arm/dts/bcm2837.dtsi | 13 +-
|
||
|
arch/arm/dts/bcm283x-rpi-smsc9512.dtsi | 2 +-
|
||
|
arch/arm/dts/bcm283x-rpi-smsc9514.dtsi | 2 +-
|
||
|
arch/arm/dts/bcm283x-rpi-usb-host.dtsi | 3 +
|
||
|
arch/arm/dts/bcm283x.dtsi | 325 ++++++++++++++++++++++++++++++++-
|
||
|
include/dt-bindings/clock/bcm2835.h | 2 +
|
||
|
include/dt-bindings/pinctrl/bcm2835.h | 5 +
|
||
|
17 files changed, 801 insertions(+), 26 deletions(-)
|
||
|
create mode 100644 arch/arm/dts/bcm283x-rpi-usb-host.dtsi
|
||
|
|
||
|
diff --git a/arch/arm/dts/bcm2835-rpi-a-plus.dts b/arch/arm/dts/bcm2835-rpi-a-plus.dts
|
||
|
index 35ff4e7a4a..9f866491ef 100644
|
||
|
--- a/arch/arm/dts/bcm2835-rpi-a-plus.dts
|
||
|
+++ b/arch/arm/dts/bcm2835-rpi-a-plus.dts
|
||
|
@@ -1,6 +1,7 @@
|
||
|
/dts-v1/;
|
||
|
#include "bcm2835.dtsi"
|
||
|
#include "bcm2835-rpi.dtsi"
|
||
|
+#include "bcm283x-rpi-usb-host.dtsi"
|
||
|
|
||
|
/ {
|
||
|
compatible = "raspberrypi,model-a-plus", "brcm,bcm2835";
|
||
|
@@ -21,7 +22,72 @@
|
||
|
};
|
||
|
|
||
|
&gpio {
|
||
|
- pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>;
|
||
|
+ /*
|
||
|
+ * 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 */
|
||
|
+ "CAM_GPIO1", /* GPIO32 */
|
||
|
+ "NC", /* GPIO33 */
|
||
|
+ "NC", /* GPIO34 */
|
||
|
+ "PWR_LOW_N", /* GPIO35 */
|
||
|
+ "NC", /* GPIO36 */
|
||
|
+ "NC", /* GPIO37 */
|
||
|
+ "USB_LIMIT", /* 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 */
|
||
|
i2s_alt0: i2s_alt0 {
|
||
|
@@ -33,3 +99,9 @@
|
||
|
&hdmi {
|
||
|
hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
|
||
|
};
|
||
|
+
|
||
|
+&uart0 {
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&uart0_gpio14>;
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
diff --git a/arch/arm/dts/bcm2835-rpi-a.dts b/arch/arm/dts/bcm2835-rpi-a.dts
|
||
|
index 306a84ee98..4b1af06c8d 100644
|
||
|
--- a/arch/arm/dts/bcm2835-rpi-a.dts
|
||
|
+++ b/arch/arm/dts/bcm2835-rpi-a.dts
|
||
|
@@ -1,6 +1,7 @@
|
||
|
/dts-v1/;
|
||
|
#include "bcm2835.dtsi"
|
||
|
#include "bcm2835-rpi.dtsi"
|
||
|
+#include "bcm283x-rpi-usb-host.dtsi"
|
||
|
|
||
|
/ {
|
||
|
compatible = "raspberrypi,model-a", "brcm,bcm2835";
|
||
|
@@ -14,7 +15,74 @@
|
||
|
};
|
||
|
|
||
|
&gpio {
|
||
|
- pinctrl-0 = <&gpioout &alt0 &i2s_alt2 &alt3>;
|
||
|
+ /*
|
||
|
+ * 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_GPIO1",
|
||
|
+ "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_GPIO0",
|
||
|
+ /* 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 */
|
||
|
i2s_alt2: i2s_alt2 {
|
||
|
@@ -26,3 +94,9 @@
|
||
|
&hdmi {
|
||
|
hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>;
|
||
|
};
|
||
|
+
|
||
|
+&uart0 {
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&uart0_gpio14>;
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
diff --git a/arch/arm/dts/bcm2835-rpi-b-plus.dts b/arch/arm/dts/bcm2835-rpi-b-plus.dts
|
||
|
index d5fdb8e761..a846f1e781 100644
|
||
|
--- a/arch/arm/dts/bcm2835-rpi-b-plus.dts
|
||
|
+++ b/arch/arm/dts/bcm2835-rpi-b-plus.dts
|
||
|
@@ -2,6 +2,7 @@
|
||
|
#include "bcm2835.dtsi"
|
||
|
#include "bcm2835-rpi.dtsi"
|
||
|
#include "bcm283x-rpi-smsc9514.dtsi"
|
||
|
+#include "bcm283x-rpi-usb-host.dtsi"
|
||
|
|
||
|
/ {
|
||
|
compatible = "raspberrypi,model-b-plus", "brcm,bcm2835";
|
||
|
@@ -22,7 +23,73 @@
|
||
|
};
|
||
|
|
||
|
&gpio {
|
||
|
- pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>;
|
||
|
+ /*
|
||
|
+ * 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 */
|
||
|
+ "USB_LIMIT", /* 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 */
|
||
|
i2s_alt0: i2s_alt0 {
|
||
|
@@ -34,3 +101,9 @@
|
||
|
&hdmi {
|
||
|
hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
|
||
|
};
|
||
|
+
|
||
|
+&uart0 {
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&uart0_gpio14>;
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
diff --git a/arch/arm/dts/bcm2835-rpi-b-rev2.dts b/arch/arm/dts/bcm2835-rpi-b-rev2.dts
|
||
|
index bfc4bd9b77..e860964e39 100644
|
||
|
--- a/arch/arm/dts/bcm2835-rpi-b-rev2.dts
|
||
|
+++ b/arch/arm/dts/bcm2835-rpi-b-rev2.dts
|
||
|
@@ -2,6 +2,7 @@
|
||
|
#include "bcm2835.dtsi"
|
||
|
#include "bcm2835-rpi.dtsi"
|
||
|
#include "bcm283x-rpi-smsc9512.dtsi"
|
||
|
+#include "bcm283x-rpi-usb-host.dtsi"
|
||
|
|
||
|
/ {
|
||
|
compatible = "raspberrypi,model-b-rev2", "brcm,bcm2835";
|
||
|
@@ -15,7 +16,73 @@
|
||
|
};
|
||
|
|
||
|
&gpio {
|
||
|
- pinctrl-0 = <&gpioout &alt0 &i2s_alt2 &alt3>;
|
||
|
+ /*
|
||
|
+ * 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 */
|
||
|
i2s_alt2: i2s_alt2 {
|
||
|
@@ -27,3 +94,9 @@
|
||
|
&hdmi {
|
||
|
hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
|
||
|
};
|
||
|
+
|
||
|
+&uart0 {
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&uart0_gpio14>;
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
diff --git a/arch/arm/dts/bcm2835-rpi-b.dts b/arch/arm/dts/bcm2835-rpi-b.dts
|
||
|
index 0371bb7374..5d77f3f8c4 100644
|
||
|
--- a/arch/arm/dts/bcm2835-rpi-b.dts
|
||
|
+++ b/arch/arm/dts/bcm2835-rpi-b.dts
|
||
|
@@ -2,6 +2,7 @@
|
||
|
#include "bcm2835.dtsi"
|
||
|
#include "bcm2835-rpi.dtsi"
|
||
|
#include "bcm283x-rpi-smsc9512.dtsi"
|
||
|
+#include "bcm283x-rpi-usb-host.dtsi"
|
||
|
|
||
|
/ {
|
||
|
compatible = "raspberrypi,model-b", "brcm,bcm2835";
|
||
|
@@ -15,9 +16,82 @@
|
||
|
};
|
||
|
|
||
|
&gpio {
|
||
|
- pinctrl-0 = <&gpioout &alt0 &alt3>;
|
||
|
+ /*
|
||
|
+ * 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_GPIO1",
|
||
|
+ "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_GPIO0",
|
||
|
+ /* 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>;
|
||
|
};
|
||
|
|
||
|
&hdmi {
|
||
|
hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>;
|
||
|
};
|
||
|
+
|
||
|
+&uart0 {
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&uart0_gpio14>;
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
diff --git a/arch/arm/dts/bcm2835-rpi.dtsi b/arch/arm/dts/bcm2835-rpi.dtsi
|
||
|
index e9b47b2bbc..8b95832dd0 100644
|
||
|
--- a/arch/arm/dts/bcm2835-rpi.dtsi
|
||
|
+++ b/arch/arm/dts/bcm2835-rpi.dtsi
|
||
|
@@ -39,22 +39,21 @@
|
||
|
};
|
||
|
|
||
|
alt0: alt0 {
|
||
|
- brcm,pins = <0 1 2 3 4 5 7 8 9 10 11 14 15 40 45>;
|
||
|
+ brcm,pins = <4 5 7 8 9 10 11>;
|
||
|
brcm,function = <BCM2835_FSEL_ALT0>;
|
||
|
};
|
||
|
-
|
||
|
- alt3: alt3 {
|
||
|
- brcm,pins = <48 49 50 51 52 53>;
|
||
|
- brcm,function = <BCM2835_FSEL_ALT3>;
|
||
|
- };
|
||
|
};
|
||
|
|
||
|
&i2c0 {
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&i2c0_gpio0>;
|
||
|
status = "okay";
|
||
|
clock-frequency = <100000>;
|
||
|
};
|
||
|
|
||
|
&i2c1 {
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&i2c1_gpio2>;
|
||
|
status = "okay";
|
||
|
clock-frequency = <100000>;
|
||
|
};
|
||
|
@@ -64,11 +63,21 @@
|
||
|
};
|
||
|
|
||
|
&sdhci {
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&emmc_gpio48>;
|
||
|
status = "okay";
|
||
|
bus-width = <4>;
|
||
|
};
|
||
|
|
||
|
+&sdhost {
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&sdhost_gpio48>;
|
||
|
+ bus-width = <4>;
|
||
|
+};
|
||
|
+
|
||
|
&pwm {
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
@@ -84,3 +93,16 @@
|
||
|
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
+
|
||
|
+&vec {
|
||
|
+ power-domains = <&power RPI_POWER_DOMAIN_VEC>;
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+&dsi0 {
|
||
|
+ power-domains = <&power RPI_POWER_DOMAIN_DSI0>;
|
||
|
+};
|
||
|
+
|
||
|
+&dsi1 {
|
||
|
+ power-domains = <&power RPI_POWER_DOMAIN_DSI1>;
|
||
|
+};
|
||
|
diff --git a/arch/arm/dts/bcm2835.dtsi b/arch/arm/dts/bcm2835.dtsi
|
||
|
index a78759e737..659b6e9513 100644
|
||
|
--- a/arch/arm/dts/bcm2835.dtsi
|
||
|
+++ b/arch/arm/dts/bcm2835.dtsi
|
||
|
@@ -23,3 +23,13 @@
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
+
|
||
|
+&cpu_thermal {
|
||
|
+ coefficients = <(-538) 407000>;
|
||
|
+};
|
||
|
+
|
||
|
+/* enable thermal sensor with the correct compatible property set */
|
||
|
+&thermal {
|
||
|
+ compatible = "brcm,bcm2835-thermal";
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
diff --git a/arch/arm/dts/bcm2836-rpi-2-b.dts b/arch/arm/dts/bcm2836-rpi-2-b.dts
|
||
|
index 29e1cfe8eb..e8de41444b 100644
|
||
|
--- a/arch/arm/dts/bcm2836-rpi-2-b.dts
|
||
|
+++ b/arch/arm/dts/bcm2836-rpi-2-b.dts
|
||
|
@@ -2,6 +2,7 @@
|
||
|
#include "bcm2836.dtsi"
|
||
|
#include "bcm2835-rpi.dtsi"
|
||
|
#include "bcm283x-rpi-smsc9514.dtsi"
|
||
|
+#include "bcm283x-rpi-usb-host.dtsi"
|
||
|
|
||
|
/ {
|
||
|
compatible = "raspberrypi,2-model-b", "brcm,bcm2836";
|
||
|
@@ -26,7 +27,7 @@
|
||
|
};
|
||
|
|
||
|
&gpio {
|
||
|
- pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>;
|
||
|
+ pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
|
||
|
|
||
|
/* I2S interface */
|
||
|
i2s_alt0: i2s_alt0 {
|
||
|
@@ -38,3 +39,9 @@
|
||
|
&hdmi {
|
||
|
hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
|
||
|
};
|
||
|
+
|
||
|
+&uart0 {
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&uart0_gpio14>;
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
diff --git a/arch/arm/dts/bcm2836.dtsi b/arch/arm/dts/bcm2836.dtsi
|
||
|
index 9d0651d8f3..2c26d0be8b 100644
|
||
|
--- a/arch/arm/dts/bcm2836.dtsi
|
||
|
+++ b/arch/arm/dts/bcm2836.dtsi
|
||
|
@@ -36,6 +36,7 @@
|
||
|
cpus: cpus {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
+ enable-method = "brcm,bcm2836-smp";
|
||
|
|
||
|
v7_cpu0: cpu@0 {
|
||
|
device_type = "cpu";
|
||
|
@@ -76,3 +77,13 @@
|
||
|
interrupt-parent = <&local_intc>;
|
||
|
interrupts = <8>;
|
||
|
};
|
||
|
+
|
||
|
+&cpu_thermal {
|
||
|
+ coefficients = <(-538) 407000>;
|
||
|
+};
|
||
|
+
|
||
|
+/* enable thermal sensor with the correct compatible property set */
|
||
|
+&thermal {
|
||
|
+ compatible = "brcm,bcm2836-thermal";
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
diff --git a/arch/arm/dts/bcm2837-rpi-3-b.dts b/arch/arm/dts/bcm2837-rpi-3-b.dts
|
||
|
index 7841b724e3..20725ca487 100644
|
||
|
--- a/arch/arm/dts/bcm2837-rpi-3-b.dts
|
||
|
+++ b/arch/arm/dts/bcm2837-rpi-3-b.dts
|
||
|
@@ -2,6 +2,7 @@
|
||
|
#include "bcm2837.dtsi"
|
||
|
#include "bcm2835-rpi.dtsi"
|
||
|
#include "bcm283x-rpi-smsc9514.dtsi"
|
||
|
+#include "bcm283x-rpi-usb-host.dtsi"
|
||
|
|
||
|
/ {
|
||
|
compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
|
||
|
@@ -15,16 +16,36 @@
|
||
|
act {
|
||
|
gpios = <&gpio 47 0>;
|
||
|
};
|
||
|
-
|
||
|
- pwr {
|
||
|
- label = "PWR";
|
||
|
- gpios = <&gpio 35 0>;
|
||
|
- default-state = "keep";
|
||
|
- linux,default-trigger = "default-on";
|
||
|
- };
|
||
|
};
|
||
|
};
|
||
|
|
||
|
+/* uart0 communicates with the BT module */
|
||
|
+&uart0 {
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&uart0_gpio32 &gpclk2_gpio43>;
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+/* uart1 is mapped to the pin header */
|
||
|
&uart1 {
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&uart1_gpio14>;
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+/* SDHCI is used to control the SDIO for wireless */
|
||
|
+&sdhci {
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&emmc_gpio34>;
|
||
|
+ status = "okay";
|
||
|
+ bus-width = <4>;
|
||
|
+ non-removable;
|
||
|
+};
|
||
|
+
|
||
|
+/* SDHOST is used to drive the SD card */
|
||
|
+&sdhost {
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&sdhost_gpio48>;
|
||
|
status = "okay";
|
||
|
+ bus-width = <4>;
|
||
|
};
|
||
|
diff --git a/arch/arm/dts/bcm2837.dtsi b/arch/arm/dts/bcm2837.dtsi
|
||
|
index 8216bbb29f..bc1cca5cf4 100644
|
||
|
--- a/arch/arm/dts/bcm2837.dtsi
|
||
|
+++ b/arch/arm/dts/bcm2837.dtsi
|
||
|
@@ -1,7 +1,7 @@
|
||
|
#include "bcm283x.dtsi"
|
||
|
|
||
|
/ {
|
||
|
- compatible = "brcm,bcm2836";
|
||
|
+ compatible = "brcm,bcm2837";
|
||
|
|
||
|
soc {
|
||
|
ranges = <0x7e000000 0x3f000000 0x1000000>,
|
||
|
@@ -30,6 +30,7 @@
|
||
|
cpus: cpus {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
+ enable-method = "brcm,bcm2836-smp"; // for ARM 32-bit
|
||
|
|
||
|
cpu0: cpu@0 {
|
||
|
device_type = "cpu";
|
||
|
@@ -74,3 +75,13 @@
|
||
|
interrupt-parent = <&local_intc>;
|
||
|
interrupts = <8>;
|
||
|
};
|
||
|
+
|
||
|
+&cpu_thermal {
|
||
|
+ coefficients = <(-538) 412000>;
|
||
|
+};
|
||
|
+
|
||
|
+/* enable thermal sensor with the correct compatible property set */
|
||
|
+&thermal {
|
||
|
+ compatible = "brcm,bcm2837-thermal";
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
diff --git a/arch/arm/dts/bcm283x-rpi-smsc9512.dtsi b/arch/arm/dts/bcm283x-rpi-smsc9512.dtsi
|
||
|
index 12c981e511..9a0599f711 100644
|
||
|
--- a/arch/arm/dts/bcm283x-rpi-smsc9512.dtsi
|
||
|
+++ b/arch/arm/dts/bcm283x-rpi-smsc9512.dtsi
|
||
|
@@ -1,6 +1,6 @@
|
||
|
/ {
|
||
|
aliases {
|
||
|
- ethernet = ðernet;
|
||
|
+ ethernet0 = ðernet;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
diff --git a/arch/arm/dts/bcm283x-rpi-smsc9514.dtsi b/arch/arm/dts/bcm283x-rpi-smsc9514.dtsi
|
||
|
index 3f0a56ebcf..dc7ae776db 100644
|
||
|
--- a/arch/arm/dts/bcm283x-rpi-smsc9514.dtsi
|
||
|
+++ b/arch/arm/dts/bcm283x-rpi-smsc9514.dtsi
|
||
|
@@ -1,6 +1,6 @@
|
||
|
/ {
|
||
|
aliases {
|
||
|
- ethernet = ðernet;
|
||
|
+ ethernet0 = ðernet;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
diff --git a/arch/arm/dts/bcm283x-rpi-usb-host.dtsi b/arch/arm/dts/bcm283x-rpi-usb-host.dtsi
|
||
|
new file mode 100644
|
||
|
index 0000000000..73f4ece8dc
|
||
|
--- /dev/null
|
||
|
+++ b/arch/arm/dts/bcm283x-rpi-usb-host.dtsi
|
||
|
@@ -0,0 +1,3 @@
|
||
|
+&usb {
|
||
|
+ dr_mode = "host";
|
||
|
+};
|
||
|
diff --git a/arch/arm/dts/bcm283x.dtsi b/arch/arm/dts/bcm283x.dtsi
|
||
|
index e5b4f20c2a..05a6f489af 100644
|
||
|
--- a/arch/arm/dts/bcm283x.dtsi
|
||
|
+++ b/arch/arm/dts/bcm283x.dtsi
|
||
|
@@ -3,6 +3,11 @@
|
||
|
#include <dt-bindings/clock/bcm2835-aux.h>
|
||
|
#include <dt-bindings/gpio/gpio.h>
|
||
|
|
||
|
+/* firmware-provided startup stubs live here, where the secondary CPUs are
|
||
|
+ * spinning.
|
||
|
+ */
|
||
|
+/memreserve/ 0x00000000 0x00001000;
|
||
|
+
|
||
|
/* This include file covers the common peripherals and configuration between
|
||
|
* bcm2835 and bcm2836 implementations, leaving the CPU configuration to
|
||
|
* bcm2835.dtsi and bcm2836.dtsi.
|
||
|
@@ -19,6 +24,26 @@
|
||
|
bootargs = "earlyprintk console=ttyAMA0";
|
||
|
};
|
||
|
|
||
|
+ thermal-zones {
|
||
|
+ cpu_thermal: cpu-thermal {
|
||
|
+ polling-delay-passive = <0>;
|
||
|
+ polling-delay = <1000>;
|
||
|
+
|
||
|
+ thermal-sensors = <&thermal>;
|
||
|
+
|
||
|
+ trips {
|
||
|
+ cpu-crit {
|
||
|
+ temperature = <80000>;
|
||
|
+ hysteresis = <0>;
|
||
|
+ type = "critical";
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ cooling-maps {
|
||
|
+ };
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
soc: soc {
|
||
|
compatible = "simple-bus";
|
||
|
#address-cells = <1>;
|
||
|
@@ -93,10 +118,13 @@
|
||
|
#clock-cells = <1>;
|
||
|
reg = <0x7e101000 0x2000>;
|
||
|
|
||
|
- /* CPRMAN derives everything from the platform's
|
||
|
- * oscillator.
|
||
|
+ /* CPRMAN derives almost everything from the
|
||
|
+ * platform's oscillator. However, the DSI
|
||
|
+ * pixel clocks come from the DSI analog PHY.
|
||
|
*/
|
||
|
- clocks = <&clk_osc>;
|
||
|
+ clocks = <&clk_osc>,
|
||
|
+ <&dsi0 0>, <&dsi0 1>, <&dsi0 2>,
|
||
|
+ <&dsi1 0>, <&dsi1 1>, <&dsi1 2>;
|
||
|
};
|
||
|
|
||
|
rng@7e104000 {
|
||
|
@@ -104,7 +132,7 @@
|
||
|
reg = <0x7e104000 0x10>;
|
||
|
};
|
||
|
|
||
|
- mailbox: mailbox@7e00b800 {
|
||
|
+ mailbox: mailbox@7e00b880 {
|
||
|
compatible = "brcm,bcm2835-mbox";
|
||
|
reg = <0x7e00b880 0x40>;
|
||
|
interrupts = <0 1>;
|
||
|
@@ -132,6 +160,213 @@
|
||
|
|
||
|
interrupt-controller;
|
||
|
#interrupt-cells = <2>;
|
||
|
+
|
||
|
+ /* Defines pin muxing groups according to
|
||
|
+ * BCM2835-ARM-Peripherals.pdf page 102.
|
||
|
+ *
|
||
|
+ * While each pin can have its mux selected
|
||
|
+ * for various functions individually, some
|
||
|
+ * groups only make sense to switch to a
|
||
|
+ * particular function together.
|
||
|
+ */
|
||
|
+ dpi_gpio0: dpi_gpio0 {
|
||
|
+ brcm,pins = <0 1 2 3 4 5 6 7 8 9 10 11
|
||
|
+ 12 13 14 15 16 17 18 19
|
||
|
+ 20 21 22 23 24 25 26 27>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT2>;
|
||
|
+ };
|
||
|
+ emmc_gpio22: emmc_gpio22 {
|
||
|
+ brcm,pins = <22 23 24 25 26 27>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT3>;
|
||
|
+ };
|
||
|
+ emmc_gpio34: emmc_gpio34 {
|
||
|
+ brcm,pins = <34 35 36 37 38 39>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT3>;
|
||
|
+ brcm,pull = <BCM2835_PUD_OFF
|
||
|
+ BCM2835_PUD_UP
|
||
|
+ BCM2835_PUD_UP
|
||
|
+ BCM2835_PUD_UP
|
||
|
+ BCM2835_PUD_UP
|
||
|
+ BCM2835_PUD_UP>;
|
||
|
+ };
|
||
|
+ emmc_gpio48: emmc_gpio48 {
|
||
|
+ brcm,pins = <48 49 50 51 52 53>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT3>;
|
||
|
+ };
|
||
|
+
|
||
|
+ gpclk0_gpio4: gpclk0_gpio4 {
|
||
|
+ brcm,pins = <4>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||
|
+ };
|
||
|
+ gpclk1_gpio5: gpclk1_gpio5 {
|
||
|
+ brcm,pins = <5>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||
|
+ };
|
||
|
+ gpclk1_gpio42: gpclk1_gpio42 {
|
||
|
+ brcm,pins = <42>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||
|
+ };
|
||
|
+ gpclk1_gpio44: gpclk1_gpio44 {
|
||
|
+ brcm,pins = <44>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||
|
+ };
|
||
|
+ gpclk2_gpio6: gpclk2_gpio6 {
|
||
|
+ brcm,pins = <6>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||
|
+ };
|
||
|
+ gpclk2_gpio43: gpclk2_gpio43 {
|
||
|
+ brcm,pins = <43>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||
|
+ };
|
||
|
+
|
||
|
+ i2c0_gpio0: i2c0_gpio0 {
|
||
|
+ brcm,pins = <0 1>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||
|
+ };
|
||
|
+ i2c0_gpio28: i2c0_gpio28 {
|
||
|
+ brcm,pins = <28 29>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||
|
+ };
|
||
|
+ i2c0_gpio44: i2c0_gpio44 {
|
||
|
+ brcm,pins = <44 45>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT1>;
|
||
|
+ };
|
||
|
+ i2c1_gpio2: i2c1_gpio2 {
|
||
|
+ brcm,pins = <2 3>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||
|
+ };
|
||
|
+ i2c1_gpio44: i2c1_gpio44 {
|
||
|
+ brcm,pins = <44 45>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT2>;
|
||
|
+ };
|
||
|
+ i2c_slave_gpio18: i2c_slave_gpio18 {
|
||
|
+ brcm,pins = <18 19 20 21>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT3>;
|
||
|
+ };
|
||
|
+
|
||
|
+ jtag_gpio4: jtag_gpio4 {
|
||
|
+ brcm,pins = <4 5 6 12 13>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT4>;
|
||
|
+ };
|
||
|
+ jtag_gpio22: jtag_gpio22 {
|
||
|
+ brcm,pins = <22 23 24 25 26 27>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT4>;
|
||
|
+ };
|
||
|
+
|
||
|
+ pcm_gpio18: pcm_gpio18 {
|
||
|
+ brcm,pins = <18 19 20 21>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||
|
+ };
|
||
|
+ pcm_gpio28: pcm_gpio28 {
|
||
|
+ brcm,pins = <28 29 30 31>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT2>;
|
||
|
+ };
|
||
|
+
|
||
|
+ pwm0_gpio12: pwm0_gpio12 {
|
||
|
+ brcm,pins = <12>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||
|
+ };
|
||
|
+ pwm0_gpio18: pwm0_gpio18 {
|
||
|
+ brcm,pins = <18>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT5>;
|
||
|
+ };
|
||
|
+ pwm0_gpio40: pwm0_gpio40 {
|
||
|
+ brcm,pins = <40>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||
|
+ };
|
||
|
+ pwm1_gpio13: pwm1_gpio13 {
|
||
|
+ brcm,pins = <13>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||
|
+ };
|
||
|
+ pwm1_gpio19: pwm1_gpio19 {
|
||
|
+ brcm,pins = <19>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT5>;
|
||
|
+ };
|
||
|
+ pwm1_gpio41: pwm1_gpio41 {
|
||
|
+ brcm,pins = <41>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||
|
+ };
|
||
|
+ pwm1_gpio45: pwm1_gpio45 {
|
||
|
+ brcm,pins = <45>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||
|
+ };
|
||
|
+
|
||
|
+ sdhost_gpio48: sdhost_gpio48 {
|
||
|
+ brcm,pins = <48 49 50 51 52 53>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||
|
+ };
|
||
|
+
|
||
|
+ spi0_gpio7: spi0_gpio7 {
|
||
|
+ brcm,pins = <7 8 9 10 11>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||
|
+ };
|
||
|
+ spi0_gpio35: spi0_gpio35 {
|
||
|
+ brcm,pins = <35 36 37 38 39>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||
|
+ };
|
||
|
+ spi1_gpio16: spi1_gpio16 {
|
||
|
+ brcm,pins = <16 17 18 19 20 21>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT4>;
|
||
|
+ };
|
||
|
+ spi2_gpio40: spi2_gpio40 {
|
||
|
+ brcm,pins = <40 41 42 43 44 45>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT4>;
|
||
|
+ };
|
||
|
+
|
||
|
+ uart0_gpio14: uart0_gpio14 {
|
||
|
+ brcm,pins = <14 15>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||
|
+ };
|
||
|
+ /* Separate from the uart0_gpio14 group
|
||
|
+ * because it conflicts with spi1_gpio16, and
|
||
|
+ * people often run uart0 on the two pins
|
||
|
+ * without flow control.
|
||
|
+ */
|
||
|
+ uart0_ctsrts_gpio16: uart0_ctsrts_gpio16 {
|
||
|
+ brcm,pins = <16 17>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT3>;
|
||
|
+ };
|
||
|
+ uart0_ctsrts_gpio30: uart0_ctsrts_gpio30 {
|
||
|
+ brcm,pins = <30 31>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT3>;
|
||
|
+ };
|
||
|
+ uart0_gpio32: uart0_gpio32 {
|
||
|
+ brcm,pins = <32 33>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT3>;
|
||
|
+ };
|
||
|
+ uart0_gpio36: uart0_gpio36 {
|
||
|
+ brcm,pins = <36 37>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT2>;
|
||
|
+ };
|
||
|
+ uart0_ctsrts_gpio38: uart0_ctsrts_gpio38 {
|
||
|
+ brcm,pins = <38 39>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT2>;
|
||
|
+ };
|
||
|
+
|
||
|
+ uart1_gpio14: uart1_gpio14 {
|
||
|
+ brcm,pins = <14 15>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT5>;
|
||
|
+ };
|
||
|
+ uart1_ctsrts_gpio16: uart1_ctsrts_gpio16 {
|
||
|
+ brcm,pins = <16 17>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT5>;
|
||
|
+ };
|
||
|
+ uart1_gpio32: uart1_gpio32 {
|
||
|
+ brcm,pins = <32 33>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT5>;
|
||
|
+ };
|
||
|
+ uart1_ctsrts_gpio30: uart1_ctsrts_gpio30 {
|
||
|
+ brcm,pins = <30 31>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT5>;
|
||
|
+ };
|
||
|
+ uart1_gpio40: uart1_gpio40 {
|
||
|
+ brcm,pins = <40 41>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT5>;
|
||
|
+ };
|
||
|
+ uart1_ctsrts_gpio42: uart1_ctsrts_gpio42 {
|
||
|
+ brcm,pins = <42 43>;
|
||
|
+ brcm,function = <BCM2835_FSEL_ALT5>;
|
||
|
+ };
|
||
|
};
|
||
|
|
||
|
uart0: serial@7e201000 {
|
||
|
@@ -144,6 +379,16 @@
|
||
|
arm,primecell-periphid = <0x00241011>;
|
||
|
};
|
||
|
|
||
|
+ sdhost: mmc@7e202000 {
|
||
|
+ compatible = "brcm,bcm2835-sdhost";
|
||
|
+ reg = <0x7e202000 0x100>;
|
||
|
+ interrupts = <2 24>;
|
||
|
+ clocks = <&clocks BCM2835_CLOCK_VPU>;
|
||
|
+ dmas = <&dma 13>;
|
||
|
+ dma-names = "rx-tx";
|
||
|
+ status = "disabled";
|
||
|
+ };
|
||
|
+
|
||
|
i2s: i2s@7e203000 {
|
||
|
compatible = "brcm,bcm2835-i2s";
|
||
|
reg = <0x7e203000 0x20>,
|
||
|
@@ -187,6 +432,33 @@
|
||
|
interrupts = <2 14>; /* pwa1 */
|
||
|
};
|
||
|
|
||
|
+ dsi0: dsi@7e209000 {
|
||
|
+ compatible = "brcm,bcm2835-dsi0";
|
||
|
+ reg = <0x7e209000 0x78>;
|
||
|
+ interrupts = <2 4>;
|
||
|
+ #address-cells = <1>;
|
||
|
+ #size-cells = <0>;
|
||
|
+ #clock-cells = <1>;
|
||
|
+
|
||
|
+ clocks = <&clocks BCM2835_PLLA_DSI0>,
|
||
|
+ <&clocks BCM2835_CLOCK_DSI0E>,
|
||
|
+ <&clocks BCM2835_CLOCK_DSI0P>;
|
||
|
+ clock-names = "phy", "escape", "pixel";
|
||
|
+
|
||
|
+ clock-output-names = "dsi0_byte",
|
||
|
+ "dsi0_ddr2",
|
||
|
+ "dsi0_ddr";
|
||
|
+
|
||
|
+ };
|
||
|
+
|
||
|
+ thermal: thermal@7e212000 {
|
||
|
+ compatible = "brcm,bcm2835-thermal";
|
||
|
+ reg = <0x7e212000 0x8>;
|
||
|
+ clocks = <&clocks BCM2835_CLOCK_TSENS>;
|
||
|
+ #thermal-sensor-cells = <0>;
|
||
|
+ status = "disabled";
|
||
|
+ };
|
||
|
+
|
||
|
aux: aux@0x7e215000 {
|
||
|
compatible = "brcm,bcm2835-aux";
|
||
|
#clock-cells = <1>;
|
||
|
@@ -246,6 +518,26 @@
|
||
|
interrupts = <2 1>;
|
||
|
};
|
||
|
|
||
|
+ dsi1: dsi@7e700000 {
|
||
|
+ compatible = "brcm,bcm2835-dsi1";
|
||
|
+ reg = <0x7e700000 0x8c>;
|
||
|
+ interrupts = <2 12>;
|
||
|
+ #address-cells = <1>;
|
||
|
+ #size-cells = <0>;
|
||
|
+ #clock-cells = <1>;
|
||
|
+
|
||
|
+ clocks = <&clocks BCM2835_PLLD_DSI1>,
|
||
|
+ <&clocks BCM2835_CLOCK_DSI1E>,
|
||
|
+ <&clocks BCM2835_CLOCK_DSI1P>;
|
||
|
+ clock-names = "phy", "escape", "pixel";
|
||
|
+
|
||
|
+ clock-output-names = "dsi1_byte",
|
||
|
+ "dsi1_ddr2",
|
||
|
+ "dsi1_ddr";
|
||
|
+
|
||
|
+ status = "disabled";
|
||
|
+ };
|
||
|
+
|
||
|
i2c1: i2c@7e804000 {
|
||
|
compatible = "brcm,bcm2835-i2c";
|
||
|
reg = <0x7e804000 0x1000>;
|
||
|
@@ -266,6 +558,14 @@
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
+ vec: vec@7e806000 {
|
||
|
+ compatible = "brcm,bcm2835-vec";
|
||
|
+ reg = <0x7e806000 0x1000>;
|
||
|
+ clocks = <&clocks BCM2835_CLOCK_VEC>;
|
||
|
+ interrupts = <2 27>;
|
||
|
+ status = "disabled";
|
||
|
+ };
|
||
|
+
|
||
|
pixelvalve@7e807000 {
|
||
|
compatible = "brcm,bcm2835-pixelvalve2";
|
||
|
reg = <0x7e807000 0x100>;
|
||
|
@@ -281,6 +581,8 @@
|
||
|
clocks = <&clocks BCM2835_PLLH_PIX>,
|
||
|
<&clocks BCM2835_CLOCK_HSM>;
|
||
|
clock-names = "pixel", "hdmi";
|
||
|
+ dmas = <&dma 17>;
|
||
|
+ dma-names = "audio-rx";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
@@ -290,6 +592,10 @@
|
||
|
interrupts = <1 9>;
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
+ clocks = <&clk_usb>;
|
||
|
+ clock-names = "otg";
|
||
|
+ phys = <&usbphy>;
|
||
|
+ phy-names = "usb2-phy";
|
||
|
};
|
||
|
|
||
|
v3d: v3d@7ec00000 {
|
||
|
@@ -317,6 +623,17 @@
|
||
|
clock-frequency = <19200000>;
|
||
|
};
|
||
|
|
||
|
+ clk_usb: clock@4 {
|
||
|
+ compatible = "fixed-clock";
|
||
|
+ reg = <4>;
|
||
|
+ #clock-cells = <0>;
|
||
|
+ clock-output-names = "otg";
|
||
|
+ clock-frequency = <480000000>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ usbphy: phy {
|
||
|
+ compatible = "usb-nop-xceiv";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
diff --git a/include/dt-bindings/clock/bcm2835.h b/include/dt-bindings/clock/bcm2835.h
|
||
|
index 360e00cefd..a0c812b0fa 100644
|
||
|
--- a/include/dt-bindings/clock/bcm2835.h
|
||
|
+++ b/include/dt-bindings/clock/bcm2835.h
|
||
|
@@ -64,3 +64,5 @@
|
||
|
#define BCM2835_CLOCK_CAM1 46
|
||
|
#define BCM2835_CLOCK_DSI0E 47
|
||
|
#define BCM2835_CLOCK_DSI1E 48
|
||
|
+#define BCM2835_CLOCK_DSI0P 49
|
||
|
+#define BCM2835_CLOCK_DSI1P 50
|
||
|
diff --git a/include/dt-bindings/pinctrl/bcm2835.h b/include/dt-bindings/pinctrl/bcm2835.h
|
||
|
index 6f0bc37af3..e4e4fdf5d3 100644
|
||
|
--- a/include/dt-bindings/pinctrl/bcm2835.h
|
||
|
+++ b/include/dt-bindings/pinctrl/bcm2835.h
|
||
|
@@ -24,4 +24,9 @@
|
||
|
#define BCM2835_FSEL_ALT2 6
|
||
|
#define BCM2835_FSEL_ALT3 7
|
||
|
|
||
|
+/* brcm,pull property */
|
||
|
+#define BCM2835_PUD_OFF 0
|
||
|
+#define BCM2835_PUD_DOWN 1
|
||
|
+#define BCM2835_PUD_UP 2
|
||
|
+
|
||
|
#endif /* __DT_BINDINGS_PINCTRL_BCM2835_H__ */
|