162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (c) 2022 TQ-Systems GmbH <linux@ew.tq-group.com>, 462306a36Sopenharmony_ci * D-82229 Seefeld, Germany. 562306a36Sopenharmony_ci * Author: Markus Niebel 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#include "imx93.dtsi" 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci/{ 1162306a36Sopenharmony_ci model = "TQ-Systems i.MX93 TQMa93xxLA/TQMa93xxCA SOM"; 1262306a36Sopenharmony_ci compatible = "tq,imx93-tqma9352", "fsl,imx93"; 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci reserved-memory { 1562306a36Sopenharmony_ci #address-cells = <2>; 1662306a36Sopenharmony_ci #size-cells = <2>; 1762306a36Sopenharmony_ci ranges; 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci linux,cma { 2062306a36Sopenharmony_ci compatible = "shared-dma-pool"; 2162306a36Sopenharmony_ci reusable; 2262306a36Sopenharmony_ci alloc-ranges = <0 0x60000000 0 0x40000000>; 2362306a36Sopenharmony_ci size = <0 0x10000000>; 2462306a36Sopenharmony_ci linux,cma-default; 2562306a36Sopenharmony_ci }; 2662306a36Sopenharmony_ci }; 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci reg_v1v8: regulator-v1v8 { 2962306a36Sopenharmony_ci compatible = "regulator-fixed"; 3062306a36Sopenharmony_ci regulator-name = "V_1V8"; 3162306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 3262306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 3362306a36Sopenharmony_ci }; 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci reg_v3v3: regulator-v3v3 { 3662306a36Sopenharmony_ci compatible = "regulator-fixed"; 3762306a36Sopenharmony_ci regulator-name = "V_3V3"; 3862306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 3962306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 4062306a36Sopenharmony_ci }; 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci /* SD2 RST# via PMIC SW_EN */ 4362306a36Sopenharmony_ci reg_usdhc2_vmmc: regulator-usdhc2 { 4462306a36Sopenharmony_ci compatible = "regulator-fixed"; 4562306a36Sopenharmony_ci pinctrl-names = "default"; 4662306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>; 4762306a36Sopenharmony_ci regulator-name = "VSD_3V3"; 4862306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 4962306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 5062306a36Sopenharmony_ci vin-supply = <®_v3v3>; 5162306a36Sopenharmony_ci gpio = <&gpio3 7 GPIO_ACTIVE_HIGH>; 5262306a36Sopenharmony_ci enable-active-high; 5362306a36Sopenharmony_ci }; 5462306a36Sopenharmony_ci}; 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci&adc1 { 5762306a36Sopenharmony_ci vref-supply = <®_v1v8>; 5862306a36Sopenharmony_ci}; 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci&flexspi1 { 6162306a36Sopenharmony_ci pinctrl-names = "default"; 6262306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_flexspi1>; 6362306a36Sopenharmony_ci status = "okay"; 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci flash0: flash@0 { 6662306a36Sopenharmony_ci compatible = "jedec,spi-nor"; 6762306a36Sopenharmony_ci reg = <0>; 6862306a36Sopenharmony_ci /* 6962306a36Sopenharmony_ci * no DQS, RXCLKSRC internal loop back, max 66 MHz 7062306a36Sopenharmony_ci * clk framework uses CLK_DIVIDER_ROUND_CLOSEST 7162306a36Sopenharmony_ci * selected value together with root from 7262306a36Sopenharmony_ci * IMX93_CLK_SYS_PLL_PFD1 @ 800.000.000 Hz helps to 7362306a36Sopenharmony_ci * respect the maximum value. 7462306a36Sopenharmony_ci */ 7562306a36Sopenharmony_ci spi-max-frequency = <62000000>; 7662306a36Sopenharmony_ci spi-tx-bus-width = <4>; 7762306a36Sopenharmony_ci spi-rx-bus-width = <4>; 7862306a36Sopenharmony_ci }; 7962306a36Sopenharmony_ci}; 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ci&gpio1 { 8262306a36Sopenharmony_ci pmic-irq-hog { 8362306a36Sopenharmony_ci gpio-hog; 8462306a36Sopenharmony_ci gpios = <3 GPIO_ACTIVE_LOW>; 8562306a36Sopenharmony_ci input; 8662306a36Sopenharmony_ci line-name = "PMIC_IRQ#"; 8762306a36Sopenharmony_ci }; 8862306a36Sopenharmony_ci}; 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ci&lpi2c1 { 9162306a36Sopenharmony_ci clock-frequency = <400000>; 9262306a36Sopenharmony_ci pinctrl-names = "default", "sleep"; 9362306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_lpi2c1>; 9462306a36Sopenharmony_ci pinctrl-1 = <&pinctrl_lpi2c1>; 9562306a36Sopenharmony_ci status = "okay"; 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci se97_som: temperature-sensor@1b { 9862306a36Sopenharmony_ci compatible = "nxp,se97b", "jedec,jc-42.4-temp"; 9962306a36Sopenharmony_ci reg = <0x1b>; 10062306a36Sopenharmony_ci }; 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ci pcf85063: rtc@51 { 10362306a36Sopenharmony_ci compatible = "nxp,pcf85063a"; 10462306a36Sopenharmony_ci reg = <0x51>; 10562306a36Sopenharmony_ci quartz-load-femtofarads = <7000>; 10662306a36Sopenharmony_ci }; 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ci eeprom0: eeprom@53 { 10962306a36Sopenharmony_ci compatible = "nxp,se97b", "atmel,24c02"; 11062306a36Sopenharmony_ci reg = <0x53>; 11162306a36Sopenharmony_ci pagesize = <16>; 11262306a36Sopenharmony_ci read-only; 11362306a36Sopenharmony_ci vcc-supply = <®_v3v3>; 11462306a36Sopenharmony_ci }; 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ci eeprom1: eeprom@57 { 11762306a36Sopenharmony_ci compatible = "atmel,24c64"; 11862306a36Sopenharmony_ci reg = <0x57>; 11962306a36Sopenharmony_ci pagesize = <32>; 12062306a36Sopenharmony_ci vcc-supply = <®_v3v3>; 12162306a36Sopenharmony_ci }; 12262306a36Sopenharmony_ci 12362306a36Sopenharmony_ci /* protectable identification memory (part of M24C64-D @57) */ 12462306a36Sopenharmony_ci eeprom@5f { 12562306a36Sopenharmony_ci compatible = "st,24c64", "atmel,24c64"; 12662306a36Sopenharmony_ci reg = <0x5f>; 12762306a36Sopenharmony_ci size = <32>; 12862306a36Sopenharmony_ci pagesize = <32>; 12962306a36Sopenharmony_ci vcc-supply = <®_v3v3>; 13062306a36Sopenharmony_ci }; 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_ci imu@6a { 13362306a36Sopenharmony_ci compatible = "st,ism330dhcx"; 13462306a36Sopenharmony_ci reg = <0x6a>; 13562306a36Sopenharmony_ci vdd-supply = <®_v3v3>; 13662306a36Sopenharmony_ci vddio-supply = <®_v3v3>; 13762306a36Sopenharmony_ci }; 13862306a36Sopenharmony_ci}; 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci&usdhc1 { 14162306a36Sopenharmony_ci pinctrl-names = "default", "state_100mhz", "state_200mhz"; 14262306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_usdhc1>; 14362306a36Sopenharmony_ci pinctrl-1 = <&pinctrl_usdhc1>; 14462306a36Sopenharmony_ci pinctrl-2 = <&pinctrl_usdhc1>; 14562306a36Sopenharmony_ci bus-width = <8>; 14662306a36Sopenharmony_ci non-removable; 14762306a36Sopenharmony_ci no-sdio; 14862306a36Sopenharmony_ci no-sd; 14962306a36Sopenharmony_ci status = "okay"; 15062306a36Sopenharmony_ci}; 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ci&wdog3 { 15362306a36Sopenharmony_ci pinctrl-names = "default"; 15462306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_wdog>; 15562306a36Sopenharmony_ci status = "okay"; 15662306a36Sopenharmony_ci}; 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ci&iomuxc { 15962306a36Sopenharmony_ci pinctrl_flexspi1: flexspi1grp { 16062306a36Sopenharmony_ci fsl,pins = < 16162306a36Sopenharmony_ci MX93_PAD_SD3_CMD__FLEXSPI1_A_SS0_B 0x3fe 16262306a36Sopenharmony_ci MX93_PAD_SD3_CLK__FLEXSPI1_A_SCLK 0x3fe 16362306a36Sopenharmony_ci MX93_PAD_SD3_DATA0__FLEXSPI1_A_DATA00 0x3fe 16462306a36Sopenharmony_ci MX93_PAD_SD3_DATA1__FLEXSPI1_A_DATA01 0x3fe 16562306a36Sopenharmony_ci MX93_PAD_SD3_DATA2__FLEXSPI1_A_DATA02 0x3fe 16662306a36Sopenharmony_ci MX93_PAD_SD3_DATA3__FLEXSPI1_A_DATA03 0x3fe 16762306a36Sopenharmony_ci >; 16862306a36Sopenharmony_ci }; 16962306a36Sopenharmony_ci 17062306a36Sopenharmony_ci pinctrl_lpi2c1: lpi2c1grp { 17162306a36Sopenharmony_ci fsl,pins = < 17262306a36Sopenharmony_ci MX93_PAD_I2C1_SCL__LPI2C1_SCL 0x40000b9e 17362306a36Sopenharmony_ci MX93_PAD_I2C1_SDA__LPI2C1_SDA 0x40000b9e 17462306a36Sopenharmony_ci >; 17562306a36Sopenharmony_ci }; 17662306a36Sopenharmony_ci 17762306a36Sopenharmony_ci pinctrl_pca9451: pca9451grp { 17862306a36Sopenharmony_ci fsl,pins = < 17962306a36Sopenharmony_ci MX93_PAD_I2C2_SDA__GPIO1_IO03 0x1306 18062306a36Sopenharmony_ci >; 18162306a36Sopenharmony_ci }; 18262306a36Sopenharmony_ci 18362306a36Sopenharmony_ci pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp { 18462306a36Sopenharmony_ci fsl,pins = < 18562306a36Sopenharmony_ci MX93_PAD_SD2_RESET_B__GPIO3_IO07 0x1306 18662306a36Sopenharmony_ci >; 18762306a36Sopenharmony_ci }; 18862306a36Sopenharmony_ci 18962306a36Sopenharmony_ci pinctrl_usdhc1: usdhc1grp { 19062306a36Sopenharmony_ci fsl,pins = < 19162306a36Sopenharmony_ci /* HYS | PU | PD | FSEL_3 | X5 */ 19262306a36Sopenharmony_ci MX93_PAD_SD1_CLK__USDHC1_CLK 0x17be 19362306a36Sopenharmony_ci MX93_PAD_SD1_STROBE__USDHC1_STROBE 0x17be 19462306a36Sopenharmony_ci /* HYS | PU | FSEL_3 | X5 */ 19562306a36Sopenharmony_ci MX93_PAD_SD1_CMD__USDHC1_CMD 0x13be 19662306a36Sopenharmony_ci /* HYS | PU | FSEL_3 | X4 */ 19762306a36Sopenharmony_ci MX93_PAD_SD1_DATA0__USDHC1_DATA0 0x139e 19862306a36Sopenharmony_ci MX93_PAD_SD1_DATA1__USDHC1_DATA1 0x139e 19962306a36Sopenharmony_ci MX93_PAD_SD1_DATA2__USDHC1_DATA2 0x139e 20062306a36Sopenharmony_ci MX93_PAD_SD1_DATA3__USDHC1_DATA3 0x139e 20162306a36Sopenharmony_ci MX93_PAD_SD1_DATA4__USDHC1_DATA4 0x139e 20262306a36Sopenharmony_ci MX93_PAD_SD1_DATA5__USDHC1_DATA5 0x139e 20362306a36Sopenharmony_ci MX93_PAD_SD1_DATA6__USDHC1_DATA6 0x139e 20462306a36Sopenharmony_ci MX93_PAD_SD1_DATA7__USDHC1_DATA7 0x139e 20562306a36Sopenharmony_ci >; 20662306a36Sopenharmony_ci }; 20762306a36Sopenharmony_ci 20862306a36Sopenharmony_ci pinctrl_wdog: wdoggrp { 20962306a36Sopenharmony_ci fsl,pins = < 21062306a36Sopenharmony_ci MX93_PAD_WDOG_ANY__WDOG1_WDOG_ANY 0x31e 21162306a36Sopenharmony_ci >; 21262306a36Sopenharmony_ci }; 21362306a36Sopenharmony_ci}; 214