162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright 2020 Protonic Holland
462306a36Sopenharmony_ci * Copyright 2019 NXP
562306a36Sopenharmony_ci */
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci/dts-v1/;
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#include <dt-bindings/usb/pd.h>
1062306a36Sopenharmony_ci#include "imx8mm.dtsi"
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci/ {
1362306a36Sopenharmony_ci	model = "Protonic PRT8MM";
1462306a36Sopenharmony_ci	compatible = "prt,prt8mm", "fsl,imx8mm";
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci	chosen {
1762306a36Sopenharmony_ci		stdout-path = &uart4;
1862306a36Sopenharmony_ci	};
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci	memory@40000000 {
2162306a36Sopenharmony_ci		device_type = "memory";
2262306a36Sopenharmony_ci		reg = <0x0 0x40000000 0 0x40000000>;
2362306a36Sopenharmony_ci	};
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci	leds {
2662306a36Sopenharmony_ci		compatible = "gpio-leds";
2762306a36Sopenharmony_ci		pinctrl-names = "default";
2862306a36Sopenharmony_ci		pinctrl-0 = <&pinctrl_gpio_leds>;
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci		debug-led0 {
3162306a36Sopenharmony_ci			label = "DEBUG_LED0";
3262306a36Sopenharmony_ci			gpios = <&gpio3 0 GPIO_ACTIVE_HIGH>;
3362306a36Sopenharmony_ci			linux,default-trigger = "heartbeat";
3462306a36Sopenharmony_ci		};
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci		debug-led1 {
3762306a36Sopenharmony_ci			label = "DEBUG_LED1";
3862306a36Sopenharmony_ci			gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>;
3962306a36Sopenharmony_ci			linux,default-trigger = "cpu";
4062306a36Sopenharmony_ci		};
4162306a36Sopenharmony_ci	};
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci	sound-ssm2518 {
4462306a36Sopenharmony_ci		compatible = "simple-audio-card";
4562306a36Sopenharmony_ci		simple-audio-card,name = "ssm2518-audio";
4662306a36Sopenharmony_ci		simple-audio-card,format = "i2s";
4762306a36Sopenharmony_ci		simple-audio-card,frame-master = <&cpudai>;
4862306a36Sopenharmony_ci		simple-audio-card,bitclock-master = <&cpudai>;
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci		cpudai: simple-audio-card,cpu {
5162306a36Sopenharmony_ci			sound-dai = <&sai3>;
5262306a36Sopenharmony_ci		};
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci		simple-audio-card,codec {
5562306a36Sopenharmony_ci			sound-dai = <&ssm2518>;
5662306a36Sopenharmony_ci			clocks = <&clk IMX8MM_CLK_SAI3_ROOT>;
5762306a36Sopenharmony_ci		};
5862306a36Sopenharmony_ci	};
5962306a36Sopenharmony_ci};
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci&i2c1 {
6262306a36Sopenharmony_ci	clock-frequency = <400000>;
6362306a36Sopenharmony_ci	pinctrl-names = "default";
6462306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_i2c1>;
6562306a36Sopenharmony_ci	status = "okay";
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci	ssm2518: audio-codec@34 {
6862306a36Sopenharmony_ci		compatible = "adi,ssm2518";
6962306a36Sopenharmony_ci		reg = <0x34>;
7062306a36Sopenharmony_ci		#sound-dai-cells = <0>;
7162306a36Sopenharmony_ci	};
7262306a36Sopenharmony_ci};
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci&i2c2 {
7562306a36Sopenharmony_ci	clock-frequency = <400000>;
7662306a36Sopenharmony_ci	pinctrl-names = "default";
7762306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_i2c2>;
7862306a36Sopenharmony_ci	status = "okay";
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ci	regulator@60 {
8162306a36Sopenharmony_ci		compatible = "fcs,fan53555";
8262306a36Sopenharmony_ci		reg = <0x60>;
8362306a36Sopenharmony_ci		regulator-name = "0V9_CORE";
8462306a36Sopenharmony_ci		regulator-min-microvolt = <900000>;
8562306a36Sopenharmony_ci		regulator-max-microvolt = <980000>;
8662306a36Sopenharmony_ci		regulator-boot-on;
8762306a36Sopenharmony_ci		regulator-always-on;
8862306a36Sopenharmony_ci	};
8962306a36Sopenharmony_ci};
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci&i2c3 {
9262306a36Sopenharmony_ci	clock-frequency = <400000>;
9362306a36Sopenharmony_ci	pinctrl-names = "default";
9462306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_i2c3>;
9562306a36Sopenharmony_ci	status = "okay";
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci	rtc@51 {
9862306a36Sopenharmony_ci		compatible = "nxp,pcf85363";
9962306a36Sopenharmony_ci		reg = <0x51>;
10062306a36Sopenharmony_ci	};
10162306a36Sopenharmony_ci
10262306a36Sopenharmony_ci	touchscreeen@5d {
10362306a36Sopenharmony_ci		compatible = "goodix,gt911";
10462306a36Sopenharmony_ci		reg = <0x5d>;
10562306a36Sopenharmony_ci		pinctrl-names = "default";
10662306a36Sopenharmony_ci		pinctrl-0 = <&pinctrl_touchscreen>;
10762306a36Sopenharmony_ci		interrupt-parent = <&gpio1>;
10862306a36Sopenharmony_ci		interrupts = <8 IRQ_TYPE_NONE>;
10962306a36Sopenharmony_ci		irq-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
11062306a36Sopenharmony_ci		reset-gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
11162306a36Sopenharmony_ci	};
11262306a36Sopenharmony_ci
11362306a36Sopenharmony_ci	temp-sense@70 {
11462306a36Sopenharmony_ci		compatible = "ti,tmp103";
11562306a36Sopenharmony_ci		reg = <0x70>;
11662306a36Sopenharmony_ci	};
11762306a36Sopenharmony_ci};
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ci&sai3 {
12062306a36Sopenharmony_ci	pinctrl-names = "default";
12162306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_sai3>;
12262306a36Sopenharmony_ci	assigned-clocks = <&clk IMX8MM_CLK_SAI3>;
12362306a36Sopenharmony_ci	assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>;
12462306a36Sopenharmony_ci	assigned-clock-rates = <12288000>;
12562306a36Sopenharmony_ci	fsl,sai-mclk-direction-output;
12662306a36Sopenharmony_ci	fsl,sai-asynchronous;
12762306a36Sopenharmony_ci	status = "okay";
12862306a36Sopenharmony_ci};
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ci&snvs_pwrkey {
13162306a36Sopenharmony_ci	status = "okay";
13262306a36Sopenharmony_ci};
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ci&uart4 {
13562306a36Sopenharmony_ci	pinctrl-names = "default";
13662306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_uart4>;
13762306a36Sopenharmony_ci	status = "okay";
13862306a36Sopenharmony_ci};
13962306a36Sopenharmony_ci
14062306a36Sopenharmony_ci&usbotg1 {
14162306a36Sopenharmony_ci	pinctrl-names = "default";
14262306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_usbotg1>;
14362306a36Sopenharmony_ci	dr_mode = "host";
14462306a36Sopenharmony_ci	disable-over-current;
14562306a36Sopenharmony_ci	power-active-high;
14662306a36Sopenharmony_ci	status = "okay";
14762306a36Sopenharmony_ci};
14862306a36Sopenharmony_ci
14962306a36Sopenharmony_ci&usdhc2 {
15062306a36Sopenharmony_ci	pinctrl-names = "default";
15162306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_usdhc2>;
15262306a36Sopenharmony_ci	assigned-clocks = <&clk IMX8MM_CLK_USDHC2>;
15362306a36Sopenharmony_ci	assigned-clock-rates = <100000000>;
15462306a36Sopenharmony_ci	cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
15562306a36Sopenharmony_ci	bus-width = <4>;
15662306a36Sopenharmony_ci	status = "okay";
15762306a36Sopenharmony_ci};
15862306a36Sopenharmony_ci
15962306a36Sopenharmony_ci&usdhc3 {
16062306a36Sopenharmony_ci	pinctrl-names = "default", "state_100mhz", "state_200mhz";
16162306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_usdhc3>;
16262306a36Sopenharmony_ci	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
16362306a36Sopenharmony_ci	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
16462306a36Sopenharmony_ci	assigned-clocks = <&clk IMX8MM_CLK_USDHC3_ROOT>;
16562306a36Sopenharmony_ci	assigned-clock-rates = <400000000>;
16662306a36Sopenharmony_ci	bus-width = <8>;
16762306a36Sopenharmony_ci	non-removable;
16862306a36Sopenharmony_ci	no-sdio;
16962306a36Sopenharmony_ci	no-sd;
17062306a36Sopenharmony_ci	status = "okay";
17162306a36Sopenharmony_ci};
17262306a36Sopenharmony_ci
17362306a36Sopenharmony_ci&wdog1 {
17462306a36Sopenharmony_ci	pinctrl-names = "default";
17562306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_wdog>;
17662306a36Sopenharmony_ci	fsl,ext-reset-output;
17762306a36Sopenharmony_ci	status = "okay";
17862306a36Sopenharmony_ci};
17962306a36Sopenharmony_ci
18062306a36Sopenharmony_ci&iomuxc {
18162306a36Sopenharmony_ci	pinctrl_gpio_leds: ledsgrp {
18262306a36Sopenharmony_ci		fsl,pins = <
18362306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_ALE_GPIO3_IO0			0x00
18462306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_CE0_B_GPIO3_IO1		0x00
18562306a36Sopenharmony_ci		>;
18662306a36Sopenharmony_ci	};
18762306a36Sopenharmony_ci
18862306a36Sopenharmony_ci	pinctrl_i2c1: i2c1grp {
18962306a36Sopenharmony_ci		fsl,pins = <
19062306a36Sopenharmony_ci			MX8MM_IOMUXC_I2C1_SCL_I2C1_SCL			0x400000c3
19162306a36Sopenharmony_ci			MX8MM_IOMUXC_I2C1_SDA_I2C1_SDA			0x400000c3
19262306a36Sopenharmony_ci		>;
19362306a36Sopenharmony_ci	};
19462306a36Sopenharmony_ci
19562306a36Sopenharmony_ci	pinctrl_i2c2: i2c2grp {
19662306a36Sopenharmony_ci		fsl,pins = <
19762306a36Sopenharmony_ci			MX8MM_IOMUXC_I2C2_SCL_I2C2_SCL			0x400000c3
19862306a36Sopenharmony_ci			MX8MM_IOMUXC_I2C2_SDA_I2C2_SDA			0x400000c3
19962306a36Sopenharmony_ci		>;
20062306a36Sopenharmony_ci	};
20162306a36Sopenharmony_ci
20262306a36Sopenharmony_ci	pinctrl_i2c3: i2c3grp {
20362306a36Sopenharmony_ci		fsl,pins = <
20462306a36Sopenharmony_ci			MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL			0x400000c3
20562306a36Sopenharmony_ci			MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA			0x400000c3
20662306a36Sopenharmony_ci		>;
20762306a36Sopenharmony_ci	};
20862306a36Sopenharmony_ci
20962306a36Sopenharmony_ci	pinctrl_sai3: sai3grp {
21062306a36Sopenharmony_ci		fsl,pins = <
21162306a36Sopenharmony_ci			MX8MM_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC		0xd6
21262306a36Sopenharmony_ci			MX8MM_IOMUXC_SAI3_TXC_SAI3_TX_BCLK		0xd6
21362306a36Sopenharmony_ci			MX8MM_IOMUXC_SAI3_MCLK_SAI3_MCLK		0xd6
21462306a36Sopenharmony_ci			MX8MM_IOMUXC_SAI3_TXD_SAI3_TX_DATA0		0xd6
21562306a36Sopenharmony_ci		>;
21662306a36Sopenharmony_ci	};
21762306a36Sopenharmony_ci
21862306a36Sopenharmony_ci	pinctrl_touchscreen: tsgrp {
21962306a36Sopenharmony_ci		fsl,pins = <
22062306a36Sopenharmony_ci			MX8MM_IOMUXC_GPIO1_IO08_GPIO1_IO8		0x80
22162306a36Sopenharmony_ci			MX8MM_IOMUXC_GPIO1_IO09_GPIO1_IO9		0x80
22262306a36Sopenharmony_ci		>;
22362306a36Sopenharmony_ci	};
22462306a36Sopenharmony_ci
22562306a36Sopenharmony_ci	pinctrl_uart4: uart4grp {
22662306a36Sopenharmony_ci		fsl,pins = <
22762306a36Sopenharmony_ci			MX8MM_IOMUXC_UART4_RXD_UART4_DCE_RX		0x040
22862306a36Sopenharmony_ci			MX8MM_IOMUXC_UART4_TXD_UART4_DCE_TX		0x040
22962306a36Sopenharmony_ci		>;
23062306a36Sopenharmony_ci	};
23162306a36Sopenharmony_ci
23262306a36Sopenharmony_ci	pinctrl_usbotg1: usbotg1grp {
23362306a36Sopenharmony_ci		fsl,pins = <
23462306a36Sopenharmony_ci			MX8MM_IOMUXC_GPIO1_IO12_USB1_OTG_PWR		0x000
23562306a36Sopenharmony_ci			MX8MM_IOMUXC_GPIO1_IO13_USB1_OTG_OC		0x000
23662306a36Sopenharmony_ci		>;
23762306a36Sopenharmony_ci	};
23862306a36Sopenharmony_ci
23962306a36Sopenharmony_ci	pinctrl_usdhc2: usdhc2grp {
24062306a36Sopenharmony_ci		fsl,pins = <
24162306a36Sopenharmony_ci			MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK			0x190
24262306a36Sopenharmony_ci			MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD			0x1d0
24362306a36Sopenharmony_ci			MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0		0x1d0
24462306a36Sopenharmony_ci			MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1		0x1d0
24562306a36Sopenharmony_ci			MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2		0x1d0
24662306a36Sopenharmony_ci			MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3		0x1d0
24762306a36Sopenharmony_ci			MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12		0x0d4
24862306a36Sopenharmony_ci		>;
24962306a36Sopenharmony_ci	};
25062306a36Sopenharmony_ci
25162306a36Sopenharmony_ci	pinctrl_usdhc3: usdhc3grp {
25262306a36Sopenharmony_ci		fsl,pins = <
25362306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK		0x190
25462306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD		0x1d0
25562306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0		0x1d0
25662306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1		0x1d0
25762306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2		0x1d0
25862306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3		0x1d0
25962306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4		0x1d0
26062306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5		0x1d0
26162306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6		0x1d0
26262306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7		0x1d0
26362306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE		0x190
26462306a36Sopenharmony_ci		>;
26562306a36Sopenharmony_ci	};
26662306a36Sopenharmony_ci
26762306a36Sopenharmony_ci	pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
26862306a36Sopenharmony_ci		fsl,pins = <
26962306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK		0x194
27062306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD		0x1d4
27162306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0		0x1d4
27262306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1		0x1d4
27362306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2		0x1d4
27462306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3		0x1d4
27562306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4		0x1d4
27662306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5		0x1d4
27762306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6		0x1d4
27862306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7		0x1d4
27962306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE		0x194
28062306a36Sopenharmony_ci		>;
28162306a36Sopenharmony_ci	};
28262306a36Sopenharmony_ci
28362306a36Sopenharmony_ci	pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
28462306a36Sopenharmony_ci		fsl,pins = <
28562306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK		0x196
28662306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD		0x1d6
28762306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0		0x1d6
28862306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1		0x1d6
28962306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2		0x1d6
29062306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3		0x1d6
29162306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4		0x1d6
29262306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5		0x1d6
29362306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6		0x1d6
29462306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7		0x1d6
29562306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE		0x196
29662306a36Sopenharmony_ci		>;
29762306a36Sopenharmony_ci	};
29862306a36Sopenharmony_ci
29962306a36Sopenharmony_ci	pinctrl_wdog: wdoggrp {
30062306a36Sopenharmony_ci		fsl,pins = <
30162306a36Sopenharmony_ci			MX8MM_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B		0xc6
30262306a36Sopenharmony_ci		>;
30362306a36Sopenharmony_ci	};
30462306a36Sopenharmony_ci};
305