@@ -0,0 +1,175 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+#include "bcm2837.dtsi"
+#include "bcm2836-rpi.dtsi"
+#include "bcm283x-rpi-smsc9514.dtsi"
+#include "bcm283x-rpi-usb-host.dtsi"
+
+/ {
+ compatible = "raspberrypi,3-compute-module", "brcm,bcm2837";
+ model = "Raspberry Pi Compute Module 3 DIGI-SENS baseboard";
+
+ memory@0 {
+ reg = <0 0x40000000>;
+ };
+
+ leds {
+ act {
+ gpios = <&expgpio 2 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ chosen {
+ /* 8250 auxiliary UART instead of pl011 */
+ stdout-path = "serial1:115200n8";
+ };
+
+ 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;
+ };
+};
+
+&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 =
+ /* I2C0 */
+ "00-I2C0_SDA",
+ "01-I2C0_SCL",
+
+ /* GPIO */
+ "02-GPIO2",
+ "03-GPIO3",
+ "04-GPIO4",
+ "05-GPIO5",
+ "06-GPIO6",
+
+ /* SPI0 */
+ "07-SPI0_CE1",
+ "08-SPI0_CE2",
+ "09-SPI0_MISO",
+ "10-SPI0_MOSI",
+ "11-SPI0_SCLK",
+
+ /* GPIO */
+ "12-GPIO12",
+ "13-GPIO13",
+ "14-GPIO14",
+ "15-GPIO15",
+ "16-GPIO16",
+
+ /* MRST */
+ "17-MRST",
+
+ /* SC16IS752 */
+ "18-SC16IS752_IRQ",
+ "19-SC16IS752_RESET",
+
+ /* RTC */
+ "20-RTC_PF0",
+
+ /* GPIO */
+ "21-GPIO21",
+
+ /* SDCARD0 */
+ "22-SD0_CLK",
+ "23-SD0_CMD",
+ "24-SD0_DATA0",
+ "25-SD0_DATA1",
+ "26-SD0_DATA2",
+ "27-SD0_DATA3",
+
+ /* GPIO */
+ "28-GPIO28",
+ "29-GPIO29",
+
+ /* UART0 */
+ "30-UART0_CTS",
+ "31-UART0_RTS",
+ "32-UART0_TXD",
+ "33-UART0_RXD",
+
+ /* SDCARD1 */
+ "34-SD1_CLK",
+ "35-SD1_CMD",
+ "36-SD1_DATA0",
+ "37-SD1_DATA1",
+ "38-SD1_DATA2",
+ "39-SD1_DATA3",
+
+ /* SPI2 */
+ "40-SPI2_MISO",
+ "41-SPI2_MOSI",
+ "42-SPI2_SCLK",
+ "43-SPI2_CE0",
+ "44-SPI2_CE1",
+ "45-SPI2_CE2",
+
+ /* UNKNOWN */
+ "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>;
+};
+
+&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";
+ };
+};
+
+&hdmi {
+ hpd-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>;
+};
+
+&uart1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart1_gpio32>;
+ status = "okay";
+};
+
+
+&sdhost {
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdhost_gpio48>;
+ bus-width = <4>;
+ vmmc-supply = <®_3v3>;
+ vqmmc-supply = <®_1v8>;
+ status = "okay";
+};