diff options
Diffstat (limited to '')
-rw-r--r-- | debian/patches/features/arm/ARM-dts-add-Raspberry-Pi-Compute-Module-3-and-IO-boa.patch | 183 |
1 files changed, 183 insertions, 0 deletions
diff --git a/debian/patches/features/arm/ARM-dts-add-Raspberry-Pi-Compute-Module-3-and-IO-boa.patch b/debian/patches/features/arm/ARM-dts-add-Raspberry-Pi-Compute-Module-3-and-IO-boa.patch new file mode 100644 index 000000000..e746f9e1a --- /dev/null +++ b/debian/patches/features/arm/ARM-dts-add-Raspberry-Pi-Compute-Module-3-and-IO-boa.patch @@ -0,0 +1,183 @@ +From: Stefan Wahren <stefan.wahren@i2se.com> +Date: Mon, 27 Aug 2018 19:31:17 +0200 +Subject: ARM: dts: add Raspberry Pi Compute Module 3 and IO board +Origin: https://git.kernel.org/linus/a54fe8a6cf66828499b121c3c39c194b43b8ed94 + +The Raspberry Pi Compute Module 3 (CM3) and the Raspberry Pi +Compute Module 3 Lite (CM3L) are SoMs which contains a BCM2837 processor, +1 GB RAM and a GPIO expander. The CM3 has a 4 GB eMMC, but on the CM3L +the eMMC is unpopulated and it's up to the user to connect their +own SD/MMC device. The dtsi file is designed to work for both modules. +There is also a matching carrier board which is called +Compute Module IO Board V3. + +Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> +--- + arch/arm/boot/dts/Makefile | 1 + + arch/arm/boot/dts/bcm2837-rpi-cm3-io3.dts | 87 +++++++++++++++++++++++++++++++ + arch/arm/boot/dts/bcm2837-rpi-cm3.dtsi | 52 ++++++++++++++++++ + 3 files changed, 140 insertions(+) + create mode 100644 arch/arm/boot/dts/bcm2837-rpi-cm3-io3.dts + create mode 100644 arch/arm/boot/dts/bcm2837-rpi-cm3.dtsi + +Index: linux/arch/arm/boot/dts/Makefile +=================================================================== +--- linux.orig/arch/arm/boot/dts/Makefile ++++ linux/arch/arm/boot/dts/Makefile +@@ -81,6 +81,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \ + bcm2836-rpi-2-b.dtb \ + bcm2837-rpi-3-b.dtb \ + bcm2837-rpi-3-b-plus.dtb \ ++ bcm2837-rpi-cm3-io3.dtb \ + bcm2835-rpi-zero.dtb \ + bcm2835-rpi-zero-w.dtb + dtb-$(CONFIG_ARCH_BCM_5301X) += \ +Index: linux/arch/arm/boot/dts/bcm2837-rpi-cm3-io3.dts +=================================================================== +--- /dev/null ++++ linux/arch/arm/boot/dts/bcm2837-rpi-cm3-io3.dts +@@ -0,0 +1,87 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/dts-v1/; ++#include "bcm2837-rpi-cm3.dtsi" ++#include "bcm283x-rpi-usb-host.dtsi" ++ ++/ { ++ compatible = "raspberrypi,3-compute-module", "brcm,bcm2837"; ++ model = "Raspberry Pi Compute Module 3 IO board V3.0"; ++}; ++ ++&gpio { ++ /* ++ * This is based on 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 = "GPIO0", ++ "GPIO1", ++ "GPIO2", ++ "GPIO3", ++ "GPIO4", ++ "GPIO5", ++ "GPIO6", ++ "GPIO7", ++ "GPIO8", ++ "GPIO9", ++ "GPIO10", ++ "GPIO11", ++ "GPIO12", ++ "GPIO13", ++ "GPIO14", ++ "GPIO15", ++ "GPIO16", ++ "GPIO17", ++ "GPIO18", ++ "GPIO19", ++ "GPIO20", ++ "GPIO21", ++ "GPIO22", ++ "GPIO23", ++ "GPIO24", ++ "GPIO25", ++ "GPIO26", ++ "GPIO27", ++ "GPIO28", ++ "GPIO29", ++ "GPIO30", ++ "GPIO31", ++ "GPIO32", ++ "GPIO33", ++ "GPIO34", ++ "GPIO35", ++ "GPIO36", ++ "GPIO37", ++ "GPIO38", ++ "GPIO39", ++ "GPIO40", ++ "GPIO41", ++ "GPIO42", ++ "GPIO43", ++ "GPIO44", ++ "GPIO45", ++ "GPIO46", ++ "GPIO47", ++ /* Used by eMMC */ ++ "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 = <&expgpio 1 GPIO_ACTIVE_LOW>; ++}; ++ ++&uart0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart0_gpio14>; ++ status = "okay"; ++}; +Index: linux/arch/arm/boot/dts/bcm2837-rpi-cm3.dtsi +=================================================================== +--- /dev/null ++++ linux/arch/arm/boot/dts/bcm2837-rpi-cm3.dtsi +@@ -0,0 +1,52 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/dts-v1/; ++#include "bcm2837.dtsi" ++#include "bcm2835-rpi.dtsi" ++ ++/ { ++ memory { ++ reg = <0 0x40000000>; ++ }; ++ ++ reg_3v3: fixed-regulator { ++ compatible = "regulator-fixed"; ++ regulator-name = "3V3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-always-on; ++ }; ++ ++ reg_1v8: fixed-regulator { ++ compatible = "regulator-fixed"; ++ regulator-name = "1V8"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-always-on; ++ }; ++}; ++ ++&firmware { ++ expgpio: gpio { ++ compatible = "raspberrypi,firmware-gpio"; ++ gpio-controller; ++ #gpio-cells = <2>; ++ gpio-line-names = "HDMI_HPD_N", ++ "EMMC_EN_N", ++ "NC", ++ "NC", ++ "NC", ++ "NC", ++ "NC", ++ "NC"; ++ status = "okay"; ++ }; ++}; ++ ++&sdhost { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdhost_gpio48>; ++ bus-width = <4>; ++ vmmc-supply = <®_3v3>; ++ vqmmc-supply = <®_1v8>; ++ status = "okay"; ++}; |