// 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>;
	power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
	status = "okay";
};

&sdhost {
	pinctrl-names = "default";
	pinctrl-0 = <&sdhost_gpio48>;
	bus-width = <4>;
	status = "okay";
};

&uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart0_gpio14>;
	status = "okay";
};
