1c982ecfaSAlexander Stein// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) 2c982ecfaSAlexander Stein/* 3c982ecfaSAlexander Stein * Copyright (c) 2022 TQ-Systems GmbH <linux@ew.tq-group.com>, 4c982ecfaSAlexander Stein * D-82229 Seefeld, Germany. 5c982ecfaSAlexander Stein * Author: Markus Niebel 6c982ecfaSAlexander Stein */ 7c982ecfaSAlexander Stein 8c982ecfaSAlexander Stein#include "imx93.dtsi" 9c982ecfaSAlexander Stein 10c982ecfaSAlexander Stein/{ 11c982ecfaSAlexander Stein model = "TQ-Systems i.MX93 TQMa93xxLA/TQMa93xxCA SOM"; 12c982ecfaSAlexander Stein compatible = "tq,imx93-tqma9352", "fsl,imx93"; 13c982ecfaSAlexander Stein 14c982ecfaSAlexander Stein reserved-memory { 15c982ecfaSAlexander Stein #address-cells = <2>; 16c982ecfaSAlexander Stein #size-cells = <2>; 17c982ecfaSAlexander Stein ranges; 18c982ecfaSAlexander Stein 19c982ecfaSAlexander Stein linux,cma { 20c982ecfaSAlexander Stein compatible = "shared-dma-pool"; 21c982ecfaSAlexander Stein reusable; 22*7cf7de0fSMarkus Niebel alloc-ranges = <0 0x80000000 0 0x40000000>; 23c982ecfaSAlexander Stein size = <0 0x10000000>; 24c982ecfaSAlexander Stein linux,cma-default; 25c982ecfaSAlexander Stein }; 26c982ecfaSAlexander Stein }; 27c982ecfaSAlexander Stein 28c982ecfaSAlexander Stein reg_v1v8: regulator-v1v8 { 29c982ecfaSAlexander Stein compatible = "regulator-fixed"; 30c982ecfaSAlexander Stein regulator-name = "V_1V8"; 31c982ecfaSAlexander Stein regulator-min-microvolt = <1800000>; 32c982ecfaSAlexander Stein regulator-max-microvolt = <1800000>; 33c982ecfaSAlexander Stein }; 34c982ecfaSAlexander Stein 35c982ecfaSAlexander Stein reg_v3v3: regulator-v3v3 { 36c982ecfaSAlexander Stein compatible = "regulator-fixed"; 37c982ecfaSAlexander Stein regulator-name = "V_3V3"; 38c982ecfaSAlexander Stein regulator-min-microvolt = <3300000>; 39c982ecfaSAlexander Stein regulator-max-microvolt = <3300000>; 40c982ecfaSAlexander Stein }; 41c982ecfaSAlexander Stein 42c982ecfaSAlexander Stein /* SD2 RST# via PMIC SW_EN */ 43c982ecfaSAlexander Stein reg_usdhc2_vmmc: regulator-usdhc2 { 44c982ecfaSAlexander Stein compatible = "regulator-fixed"; 45c982ecfaSAlexander Stein pinctrl-names = "default"; 46c982ecfaSAlexander Stein pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>; 47c982ecfaSAlexander Stein regulator-name = "VSD_3V3"; 48c982ecfaSAlexander Stein regulator-min-microvolt = <3300000>; 49c982ecfaSAlexander Stein regulator-max-microvolt = <3300000>; 50c982ecfaSAlexander Stein vin-supply = <®_v3v3>; 51c982ecfaSAlexander Stein gpio = <&gpio3 7 GPIO_ACTIVE_HIGH>; 52c982ecfaSAlexander Stein enable-active-high; 53c982ecfaSAlexander Stein }; 54c982ecfaSAlexander Stein}; 55c982ecfaSAlexander Stein 56c982ecfaSAlexander Stein&adc1 { 57c982ecfaSAlexander Stein vref-supply = <®_v1v8>; 58c982ecfaSAlexander Stein}; 59c982ecfaSAlexander Stein 60c982ecfaSAlexander Stein&flexspi1 { 61c982ecfaSAlexander Stein pinctrl-names = "default"; 62c982ecfaSAlexander Stein pinctrl-0 = <&pinctrl_flexspi1>; 63c982ecfaSAlexander Stein status = "okay"; 64c982ecfaSAlexander Stein 65c982ecfaSAlexander Stein flash0: flash@0 { 66c982ecfaSAlexander Stein compatible = "jedec,spi-nor"; 67c982ecfaSAlexander Stein reg = <0>; 68c982ecfaSAlexander Stein /* 69c982ecfaSAlexander Stein * no DQS, RXCLKSRC internal loop back, max 66 MHz 70c982ecfaSAlexander Stein * clk framework uses CLK_DIVIDER_ROUND_CLOSEST 71c982ecfaSAlexander Stein * selected value together with root from 72c982ecfaSAlexander Stein * IMX93_CLK_SYS_PLL_PFD1 @ 800.000.000 Hz helps to 73c982ecfaSAlexander Stein * respect the maximum value. 74c982ecfaSAlexander Stein */ 75c982ecfaSAlexander Stein spi-max-frequency = <62000000>; 76c982ecfaSAlexander Stein spi-tx-bus-width = <4>; 77c982ecfaSAlexander Stein spi-rx-bus-width = <4>; 78c982ecfaSAlexander Stein }; 79c982ecfaSAlexander Stein}; 80c982ecfaSAlexander Stein 81c982ecfaSAlexander Stein&gpio1 { 82c982ecfaSAlexander Stein pmic-irq-hog { 83c982ecfaSAlexander Stein gpio-hog; 84997a3e24SAlexander Stein gpios = <3 GPIO_ACTIVE_LOW>; 85c982ecfaSAlexander Stein input; 86c982ecfaSAlexander Stein line-name = "PMIC_IRQ#"; 87c982ecfaSAlexander Stein }; 88c982ecfaSAlexander Stein}; 89c982ecfaSAlexander Stein 90c982ecfaSAlexander Stein&lpi2c1 { 91c982ecfaSAlexander Stein clock-frequency = <400000>; 92c982ecfaSAlexander Stein pinctrl-names = "default", "sleep"; 93c982ecfaSAlexander Stein pinctrl-0 = <&pinctrl_lpi2c1>; 94c982ecfaSAlexander Stein pinctrl-1 = <&pinctrl_lpi2c1>; 95c982ecfaSAlexander Stein status = "okay"; 96c982ecfaSAlexander Stein 97c982ecfaSAlexander Stein se97_som: temperature-sensor@1b { 98c982ecfaSAlexander Stein compatible = "nxp,se97b", "jedec,jc-42.4-temp"; 99c982ecfaSAlexander Stein reg = <0x1b>; 100c982ecfaSAlexander Stein }; 101c982ecfaSAlexander Stein 102c982ecfaSAlexander Stein pcf85063: rtc@51 { 103c982ecfaSAlexander Stein compatible = "nxp,pcf85063a"; 104c982ecfaSAlexander Stein reg = <0x51>; 105c982ecfaSAlexander Stein quartz-load-femtofarads = <7000>; 106c982ecfaSAlexander Stein }; 107c982ecfaSAlexander Stein 108c982ecfaSAlexander Stein eeprom0: eeprom@53 { 109c982ecfaSAlexander Stein compatible = "nxp,se97b", "atmel,24c02"; 110c982ecfaSAlexander Stein reg = <0x53>; 111c982ecfaSAlexander Stein pagesize = <16>; 112c982ecfaSAlexander Stein read-only; 113c982ecfaSAlexander Stein vcc-supply = <®_v3v3>; 114c982ecfaSAlexander Stein }; 115c982ecfaSAlexander Stein 116c982ecfaSAlexander Stein eeprom1: eeprom@57 { 117c982ecfaSAlexander Stein compatible = "atmel,24c64"; 118c982ecfaSAlexander Stein reg = <0x57>; 119c982ecfaSAlexander Stein pagesize = <32>; 120c982ecfaSAlexander Stein vcc-supply = <®_v3v3>; 121c982ecfaSAlexander Stein }; 122c982ecfaSAlexander Stein 123c982ecfaSAlexander Stein /* protectable identification memory (part of M24C64-D @57) */ 124c982ecfaSAlexander Stein eeprom@5f { 125c982ecfaSAlexander Stein compatible = "st,24c64", "atmel,24c64"; 126c982ecfaSAlexander Stein reg = <0x5f>; 127c982ecfaSAlexander Stein size = <32>; 128c982ecfaSAlexander Stein pagesize = <32>; 129c982ecfaSAlexander Stein vcc-supply = <®_v3v3>; 130c982ecfaSAlexander Stein }; 131c982ecfaSAlexander Stein 132c982ecfaSAlexander Stein imu@6a { 133c982ecfaSAlexander Stein compatible = "st,ism330dhcx"; 134c982ecfaSAlexander Stein reg = <0x6a>; 135c982ecfaSAlexander Stein vdd-supply = <®_v3v3>; 136c982ecfaSAlexander Stein vddio-supply = <®_v3v3>; 137c982ecfaSAlexander Stein }; 138c982ecfaSAlexander Stein}; 139c982ecfaSAlexander Stein 140c982ecfaSAlexander Stein&usdhc1 { 141c982ecfaSAlexander Stein pinctrl-names = "default", "state_100mhz", "state_200mhz"; 142c982ecfaSAlexander Stein pinctrl-0 = <&pinctrl_usdhc1>; 143c982ecfaSAlexander Stein pinctrl-1 = <&pinctrl_usdhc1>; 144c982ecfaSAlexander Stein pinctrl-2 = <&pinctrl_usdhc1>; 145c982ecfaSAlexander Stein bus-width = <8>; 146c982ecfaSAlexander Stein non-removable; 147c982ecfaSAlexander Stein no-sdio; 148c982ecfaSAlexander Stein no-sd; 149c982ecfaSAlexander Stein status = "okay"; 150c982ecfaSAlexander Stein}; 151c982ecfaSAlexander Stein 152c982ecfaSAlexander Stein&wdog3 { 153c982ecfaSAlexander Stein pinctrl-names = "default"; 154c982ecfaSAlexander Stein pinctrl-0 = <&pinctrl_wdog>; 155c982ecfaSAlexander Stein status = "okay"; 156c982ecfaSAlexander Stein}; 157c982ecfaSAlexander Stein 158c982ecfaSAlexander Stein&iomuxc { 159c982ecfaSAlexander Stein pinctrl_flexspi1: flexspi1grp { 160c982ecfaSAlexander Stein fsl,pins = < 161c982ecfaSAlexander Stein MX93_PAD_SD3_CMD__FLEXSPI1_A_SS0_B 0x3fe 162c982ecfaSAlexander Stein MX93_PAD_SD3_CLK__FLEXSPI1_A_SCLK 0x3fe 163c982ecfaSAlexander Stein MX93_PAD_SD3_DATA0__FLEXSPI1_A_DATA00 0x3fe 164c982ecfaSAlexander Stein MX93_PAD_SD3_DATA1__FLEXSPI1_A_DATA01 0x3fe 165c982ecfaSAlexander Stein MX93_PAD_SD3_DATA2__FLEXSPI1_A_DATA02 0x3fe 166c982ecfaSAlexander Stein MX93_PAD_SD3_DATA3__FLEXSPI1_A_DATA03 0x3fe 167c982ecfaSAlexander Stein >; 168c982ecfaSAlexander Stein }; 169c982ecfaSAlexander Stein 170c982ecfaSAlexander Stein pinctrl_lpi2c1: lpi2c1grp { 171c982ecfaSAlexander Stein fsl,pins = < 172c982ecfaSAlexander Stein MX93_PAD_I2C1_SCL__LPI2C1_SCL 0x40000b9e 173c982ecfaSAlexander Stein MX93_PAD_I2C1_SDA__LPI2C1_SDA 0x40000b9e 174c982ecfaSAlexander Stein >; 175c982ecfaSAlexander Stein }; 176c982ecfaSAlexander Stein 177c982ecfaSAlexander Stein pinctrl_pca9451: pca9451grp { 178c982ecfaSAlexander Stein fsl,pins = < 179c982ecfaSAlexander Stein MX93_PAD_I2C2_SDA__GPIO1_IO03 0x1306 180c982ecfaSAlexander Stein >; 181c982ecfaSAlexander Stein }; 182c982ecfaSAlexander Stein 183c982ecfaSAlexander Stein pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp { 184c982ecfaSAlexander Stein fsl,pins = < 185c982ecfaSAlexander Stein MX93_PAD_SD2_RESET_B__GPIO3_IO07 0x1306 186c982ecfaSAlexander Stein >; 187c982ecfaSAlexander Stein }; 188c982ecfaSAlexander Stein 189c982ecfaSAlexander Stein pinctrl_usdhc1: usdhc1grp { 190c982ecfaSAlexander Stein fsl,pins = < 191c982ecfaSAlexander Stein /* HYS | PU | PD | FSEL_3 | X5 */ 192c982ecfaSAlexander Stein MX93_PAD_SD1_CLK__USDHC1_CLK 0x17be 193c982ecfaSAlexander Stein MX93_PAD_SD1_STROBE__USDHC1_STROBE 0x17be 194c982ecfaSAlexander Stein /* HYS | PU | FSEL_3 | X5 */ 195c982ecfaSAlexander Stein MX93_PAD_SD1_CMD__USDHC1_CMD 0x13be 196c982ecfaSAlexander Stein /* HYS | PU | FSEL_3 | X4 */ 197c982ecfaSAlexander Stein MX93_PAD_SD1_DATA0__USDHC1_DATA0 0x139e 198c982ecfaSAlexander Stein MX93_PAD_SD1_DATA1__USDHC1_DATA1 0x139e 199c982ecfaSAlexander Stein MX93_PAD_SD1_DATA2__USDHC1_DATA2 0x139e 200c982ecfaSAlexander Stein MX93_PAD_SD1_DATA3__USDHC1_DATA3 0x139e 201c982ecfaSAlexander Stein MX93_PAD_SD1_DATA4__USDHC1_DATA4 0x139e 202c982ecfaSAlexander Stein MX93_PAD_SD1_DATA5__USDHC1_DATA5 0x139e 203c982ecfaSAlexander Stein MX93_PAD_SD1_DATA6__USDHC1_DATA6 0x139e 204c982ecfaSAlexander Stein MX93_PAD_SD1_DATA7__USDHC1_DATA7 0x139e 205c982ecfaSAlexander Stein >; 206c982ecfaSAlexander Stein }; 207c982ecfaSAlexander Stein 208c982ecfaSAlexander Stein pinctrl_wdog: wdoggrp { 209c982ecfaSAlexander Stein fsl,pins = < 210c982ecfaSAlexander Stein MX93_PAD_WDOG_ANY__WDOG1_WDOG_ANY 0x31e 211c982ecfaSAlexander Stein >; 212c982ecfaSAlexander Stein }; 213c982ecfaSAlexander Stein}; 214