18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0 OR MIT) 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright (C) 2018 Jon Nettleton <jon@solid-run.com> 48c2ecf20Sopenharmony_ci */ 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci/dts-v1/; 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci#include "dt-bindings/usb/pd.h" 98c2ecf20Sopenharmony_ci#include "imx8mq-sr-som.dtsi" 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci/ { 128c2ecf20Sopenharmony_ci model = "SolidRun i.MX8MQ HummingBoard Pulse"; 138c2ecf20Sopenharmony_ci compatible = "solidrun,hummingboard-pulse", "fsl,imx8mq"; 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci chosen { 168c2ecf20Sopenharmony_ci stdout-path = &uart1; 178c2ecf20Sopenharmony_ci }; 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci reg_usdhc2_vmmc: regulator-usdhc2-vmmc { 208c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 218c2ecf20Sopenharmony_ci pinctrl-names = "default"; 228c2ecf20Sopenharmony_ci pinctrl-0 = <&pinctrl_usdhc2_vmmc>; 238c2ecf20Sopenharmony_ci regulator-name = "VSD_3V3"; 248c2ecf20Sopenharmony_ci regulator-min-microvolt = <3300000>; 258c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 268c2ecf20Sopenharmony_ci gpio = <&gpio1 13 GPIO_ACTIVE_LOW>; 278c2ecf20Sopenharmony_ci }; 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ci reg_v_5v0: regulator-v-5v0 { 308c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 318c2ecf20Sopenharmony_ci regulator-name = "v_5v0"; 328c2ecf20Sopenharmony_ci regulator-max-microvolt = <5000000>; 338c2ecf20Sopenharmony_ci regulator-min-microvolt = <5000000>; 348c2ecf20Sopenharmony_ci regulator-always-on; 358c2ecf20Sopenharmony_ci }; 368c2ecf20Sopenharmony_ci}; 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci&i2c2 { 398c2ecf20Sopenharmony_ci pinctrl-names = "default"; 408c2ecf20Sopenharmony_ci pinctrl-0 = <&pinctrl_i2c2>; 418c2ecf20Sopenharmony_ci clock-frequency = <100000>; 428c2ecf20Sopenharmony_ci status = "okay"; 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci typec_ptn5100: usb-typec@50 { 458c2ecf20Sopenharmony_ci compatible = "nxp,ptn5110"; 468c2ecf20Sopenharmony_ci reg = <0x50>; 478c2ecf20Sopenharmony_ci pinctrl-names = "default"; 488c2ecf20Sopenharmony_ci pinctrl-0 = <&pinctrl_typec>; 498c2ecf20Sopenharmony_ci interrupt-parent = <&gpio1>; 508c2ecf20Sopenharmony_ci interrupts = <6 IRQ_TYPE_LEVEL_LOW>; 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ci connector { 538c2ecf20Sopenharmony_ci compatible = "usb-c-connector"; 548c2ecf20Sopenharmony_ci label = "USB-C"; 558c2ecf20Sopenharmony_ci data-role = "dual"; 568c2ecf20Sopenharmony_ci power-role = "dual"; 578c2ecf20Sopenharmony_ci try-power-role = "sink"; 588c2ecf20Sopenharmony_ci source-pdos = <PDO_FIXED(5000, 2000, 598c2ecf20Sopenharmony_ci PDO_FIXED_USB_COMM | 608c2ecf20Sopenharmony_ci PDO_FIXED_SUSPEND | 618c2ecf20Sopenharmony_ci PDO_FIXED_EXTPOWER)>; 628c2ecf20Sopenharmony_ci sink-pdos = <PDO_FIXED(5000, 2000, 638c2ecf20Sopenharmony_ci PDO_FIXED_USB_COMM | 648c2ecf20Sopenharmony_ci PDO_FIXED_SUSPEND | 658c2ecf20Sopenharmony_ci PDO_FIXED_EXTPOWER) 668c2ecf20Sopenharmony_ci PDO_FIXED(9000, 2000, 678c2ecf20Sopenharmony_ci PDO_FIXED_USB_COMM | 688c2ecf20Sopenharmony_ci PDO_FIXED_SUSPEND | 698c2ecf20Sopenharmony_ci PDO_FIXED_EXTPOWER)>; 708c2ecf20Sopenharmony_ci op-sink-microwatt = <9000000>; 718c2ecf20Sopenharmony_ci 728c2ecf20Sopenharmony_ci port { 738c2ecf20Sopenharmony_ci typec1_dr_sw: endpoint { 748c2ecf20Sopenharmony_ci remote-endpoint = <&usb1_drd_sw>; 758c2ecf20Sopenharmony_ci }; 768c2ecf20Sopenharmony_ci }; 778c2ecf20Sopenharmony_ci }; 788c2ecf20Sopenharmony_ci }; 798c2ecf20Sopenharmony_ci}; 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_ci&i2c3 { 828c2ecf20Sopenharmony_ci pinctrl-names = "default"; 838c2ecf20Sopenharmony_ci pinctrl-0 = <&pinctrl_i2c3>; 848c2ecf20Sopenharmony_ci clock-frequency = <100000>; 858c2ecf20Sopenharmony_ci status = "okay"; 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ci eeprom@57 { 888c2ecf20Sopenharmony_ci compatible = "atmel,24c02"; 898c2ecf20Sopenharmony_ci reg = <0x57>; 908c2ecf20Sopenharmony_ci status = "okay"; 918c2ecf20Sopenharmony_ci }; 928c2ecf20Sopenharmony_ci 938c2ecf20Sopenharmony_ci rtc@69 { 948c2ecf20Sopenharmony_ci compatible = "abracon,ab1805"; 958c2ecf20Sopenharmony_ci reg = <0x69>; 968c2ecf20Sopenharmony_ci abracon,tc-diode = "schottky"; 978c2ecf20Sopenharmony_ci abracon,tc-resistor = <3>; 988c2ecf20Sopenharmony_ci }; 998c2ecf20Sopenharmony_ci}; 1008c2ecf20Sopenharmony_ci 1018c2ecf20Sopenharmony_ci&uart2 { /* J35 header */ 1028c2ecf20Sopenharmony_ci pinctrl-names = "default"; 1038c2ecf20Sopenharmony_ci pinctrl-0 = <&pinctrl_uart2>; 1048c2ecf20Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_UART2>; 1058c2ecf20Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_CLK_25M>; 1068c2ecf20Sopenharmony_ci status = "okay"; 1078c2ecf20Sopenharmony_ci}; 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ci&uart3 { /* Mikrobus */ 1108c2ecf20Sopenharmony_ci pinctrl-names = "default"; 1118c2ecf20Sopenharmony_ci pinctrl-0 = <&pinctrl_uart3>; 1128c2ecf20Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_UART3>; 1138c2ecf20Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_80M>; 1148c2ecf20Sopenharmony_ci uart-has-rtscts; 1158c2ecf20Sopenharmony_ci status = "okay"; 1168c2ecf20Sopenharmony_ci}; 1178c2ecf20Sopenharmony_ci 1188c2ecf20Sopenharmony_ci&usdhc2 { 1198c2ecf20Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_USDHC2>; 1208c2ecf20Sopenharmony_ci assigned-clock-rates = <200000000>; 1218c2ecf20Sopenharmony_ci pinctrl-names = "default", "state_100mhz", "state_200mhz"; 1228c2ecf20Sopenharmony_ci pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; 1238c2ecf20Sopenharmony_ci pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>; 1248c2ecf20Sopenharmony_ci pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>; 1258c2ecf20Sopenharmony_ci cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; 1268c2ecf20Sopenharmony_ci vmmc-supply = <®_usdhc2_vmmc>; 1278c2ecf20Sopenharmony_ci status = "okay"; 1288c2ecf20Sopenharmony_ci}; 1298c2ecf20Sopenharmony_ci 1308c2ecf20Sopenharmony_ci&usb_dwc3_0 { 1318c2ecf20Sopenharmony_ci dr_mode = "otg"; 1328c2ecf20Sopenharmony_ci status = "okay"; 1338c2ecf20Sopenharmony_ci 1348c2ecf20Sopenharmony_ci port { 1358c2ecf20Sopenharmony_ci usb1_drd_sw: endpoint { 1368c2ecf20Sopenharmony_ci remote-endpoint = <&typec1_dr_sw>; 1378c2ecf20Sopenharmony_ci }; 1388c2ecf20Sopenharmony_ci }; 1398c2ecf20Sopenharmony_ci}; 1408c2ecf20Sopenharmony_ci 1418c2ecf20Sopenharmony_ci&usb_dwc3_1 { 1428c2ecf20Sopenharmony_ci dr_mode = "host"; 1438c2ecf20Sopenharmony_ci status = "okay"; 1448c2ecf20Sopenharmony_ci}; 1458c2ecf20Sopenharmony_ci 1468c2ecf20Sopenharmony_ci&usb3_phy0 { 1478c2ecf20Sopenharmony_ci status = "okay"; 1488c2ecf20Sopenharmony_ci}; 1498c2ecf20Sopenharmony_ci 1508c2ecf20Sopenharmony_ci&usb3_phy1 { 1518c2ecf20Sopenharmony_ci status = "okay"; 1528c2ecf20Sopenharmony_ci}; 1538c2ecf20Sopenharmony_ci 1548c2ecf20Sopenharmony_ci&iomuxc { 1558c2ecf20Sopenharmony_ci pinctrl-names = "default"; 1568c2ecf20Sopenharmony_ci pinctrl-0 = <&pinctrl_hog>; 1578c2ecf20Sopenharmony_ci 1588c2ecf20Sopenharmony_ci pinctrl_hog: hoggrp { 1598c2ecf20Sopenharmony_ci fsl,pins = < 1608c2ecf20Sopenharmony_ci /* MikroBus Analog */ 1618c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_NAND_DATA05_GPIO3_IO11 0x41 1628c2ecf20Sopenharmony_ci /* MikroBus Reset */ 1638c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_SAI2_RXD0_GPIO4_IO23 0x41 1648c2ecf20Sopenharmony_ci /* 1658c2ecf20Sopenharmony_ci * The following 2 pins need to be commented out and 1668c2ecf20Sopenharmony_ci * reconfigured to enable RTS/CTS on UART3 1678c2ecf20Sopenharmony_ci */ 1688c2ecf20Sopenharmony_ci /* MikroBus PWM */ 1698c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_ECSPI1_MISO_GPIO5_IO8 0x41 1708c2ecf20Sopenharmony_ci /* MikroBus INT */ 1718c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_ECSPI1_SS0_GPIO5_IO9 0x41 1728c2ecf20Sopenharmony_ci >; 1738c2ecf20Sopenharmony_ci }; 1748c2ecf20Sopenharmony_ci 1758c2ecf20Sopenharmony_ci pinctrl_i2c2: i2c2grp { 1768c2ecf20Sopenharmony_ci fsl,pins = < 1778c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_I2C2_SCL_I2C2_SCL 0x4000007f 1788c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_I2C2_SDA_I2C2_SDA 0x4000007f 1798c2ecf20Sopenharmony_ci >; 1808c2ecf20Sopenharmony_ci }; 1818c2ecf20Sopenharmony_ci 1828c2ecf20Sopenharmony_ci pinctrl_i2c3: i2c3grp { 1838c2ecf20Sopenharmony_ci fsl,pins = < 1848c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_I2C3_SCL_I2C3_SCL 0x4000007f 1858c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_I2C3_SDA_I2C3_SDA 0x4000007f 1868c2ecf20Sopenharmony_ci >; 1878c2ecf20Sopenharmony_ci }; 1888c2ecf20Sopenharmony_ci 1898c2ecf20Sopenharmony_ci pinctrl_typec: typecgrp { 1908c2ecf20Sopenharmony_ci fsl,pins = < 1918c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_NAND_RE_B_GPIO3_IO15 0x16 1928c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_GPIO1_IO06_GPIO1_IO6 0x17059 1938c2ecf20Sopenharmony_ci >; 1948c2ecf20Sopenharmony_ci }; 1958c2ecf20Sopenharmony_ci 1968c2ecf20Sopenharmony_ci pinctrl_uart2: uart2grp { 1978c2ecf20Sopenharmony_ci fsl,pins = < 1988c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_UART2_TXD_UART2_DCE_TX 0x49 1998c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_UART2_RXD_UART2_DCE_RX 0x49 2008c2ecf20Sopenharmony_ci >; 2018c2ecf20Sopenharmony_ci }; 2028c2ecf20Sopenharmony_ci 2038c2ecf20Sopenharmony_ci pinctrl_uart3: uart3grp { 2048c2ecf20Sopenharmony_ci fsl,pins = < 2058c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_UART3_TXD_UART3_DCE_TX 0x49 2068c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_UART3_RXD_UART3_DCE_RX 0x49 2078c2ecf20Sopenharmony_ci /* 2088c2ecf20Sopenharmony_ci * These pins are by default GPIO on the Mikro Bus 2098c2ecf20Sopenharmony_ci * Header. To use RTS/CTS on UART3 comment them out 2108c2ecf20Sopenharmony_ci * of the hoggrp and enable them here 2118c2ecf20Sopenharmony_ci */ 2128c2ecf20Sopenharmony_ci /* MX8MQ_IOMUXC_ECSPI1_MISO_UART3_DCE_CTS_B 0x49 */ 2138c2ecf20Sopenharmony_ci /* MX8MQ_IOMUXC_ECSPI1_SS0_UART3_DCE_RTS_B 0x49 */ 2148c2ecf20Sopenharmony_ci >; 2158c2ecf20Sopenharmony_ci }; 2168c2ecf20Sopenharmony_ci 2178c2ecf20Sopenharmony_ci pinctrl_usdhc2_gpio: usdhc2gpiogrp { 2188c2ecf20Sopenharmony_ci fsl,pins = < 2198c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_SD2_CD_B_GPIO2_IO12 0x41 2208c2ecf20Sopenharmony_ci >; 2218c2ecf20Sopenharmony_ci }; 2228c2ecf20Sopenharmony_ci 2238c2ecf20Sopenharmony_ci pinctrl_usdhc2_vmmc: usdhc2vmmcgpiogrp { 2248c2ecf20Sopenharmony_ci fsl,pins = < 2258c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_GPIO1_IO13_GPIO1_IO13 0x41 2268c2ecf20Sopenharmony_ci >; 2278c2ecf20Sopenharmony_ci }; 2288c2ecf20Sopenharmony_ci 2298c2ecf20Sopenharmony_ci pinctrl_usdhc2: usdhc2grp { 2308c2ecf20Sopenharmony_ci fsl,pins = < 2318c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK 0x83 2328c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD 0xc3 2338c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0 0xc3 2348c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1 0xc3 2358c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2 0xc3 2368c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3 0xc3 2378c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0xc1 2388c2ecf20Sopenharmony_ci >; 2398c2ecf20Sopenharmony_ci }; 2408c2ecf20Sopenharmony_ci 2418c2ecf20Sopenharmony_ci pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { 2428c2ecf20Sopenharmony_ci fsl,pins = < 2438c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK 0x8d 2448c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD 0xcd 2458c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0 0xcd 2468c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1 0xcd 2478c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2 0xcd 2488c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3 0xcd 2498c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0xc1 2508c2ecf20Sopenharmony_ci >; 2518c2ecf20Sopenharmony_ci }; 2528c2ecf20Sopenharmony_ci 2538c2ecf20Sopenharmony_ci pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { 2548c2ecf20Sopenharmony_ci fsl,pins = < 2558c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK 0x9f 2568c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD 0xdf 2578c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0 0xdf 2588c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1 0xdf 2598c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2 0xdf 2608c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3 0xdf 2618c2ecf20Sopenharmony_ci MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0xc1 2628c2ecf20Sopenharmony_ci >; 2638c2ecf20Sopenharmony_ci }; 2648c2ecf20Sopenharmony_ci}; 265