1*3f519121SAntoine Gouby// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2*3f519121SAntoine Gouby/* 3*3f519121SAntoine Gouby * Copyright (c) Toradex 4*3f519121SAntoine Gouby * 5*3f519121SAntoine Gouby * https://www.toradex.com/computer-on-modules/aquila-arm-family/nxp-imx95 6*3f519121SAntoine Gouby * https://www.toradex.com/products/carrier-board/clover 7*3f519121SAntoine Gouby */ 8*3f519121SAntoine Gouby 9*3f519121SAntoine Gouby/dts-v1/; 10*3f519121SAntoine Gouby 11*3f519121SAntoine Gouby#include <dt-bindings/pwm/pwm.h> 12*3f519121SAntoine Gouby#include <dt-bindings/usb/pd.h> 13*3f519121SAntoine Gouby#include "imx95-aquila.dtsi" 14*3f519121SAntoine Gouby 15*3f519121SAntoine Gouby/ { 16*3f519121SAntoine Gouby model = "Aquila iMX95 on Aquila Clover Board"; 17*3f519121SAntoine Gouby compatible = "toradex,aquila-imx95-clover", 18*3f519121SAntoine Gouby "toradex,aquila-imx95", 19*3f519121SAntoine Gouby "fsl,imx95"; 20*3f519121SAntoine Gouby 21*3f519121SAntoine Gouby aliases { 22*3f519121SAntoine Gouby eeprom1 = &carrier_eeprom; 23*3f519121SAntoine Gouby }; 24*3f519121SAntoine Gouby 25*3f519121SAntoine Gouby dp_1_connector: dp0-connector { 26*3f519121SAntoine Gouby compatible = "dp-connector"; 27*3f519121SAntoine Gouby dp-pwr-supply = <®_dp_3p3v>; 28*3f519121SAntoine Gouby type = "full-size"; 29*3f519121SAntoine Gouby 30*3f519121SAntoine Gouby port { 31*3f519121SAntoine Gouby dp_1_connector_in: endpoint { 32*3f519121SAntoine Gouby remote-endpoint = <&dsi2dp_out>; 33*3f519121SAntoine Gouby }; 34*3f519121SAntoine Gouby }; 35*3f519121SAntoine Gouby }; 36*3f519121SAntoine Gouby 37*3f519121SAntoine Gouby reg_dp_3p3v: regulator-dp-3p3v { 38*3f519121SAntoine Gouby compatible = "regulator-fixed"; 39*3f519121SAntoine Gouby pinctrl-names = "default"; 40*3f519121SAntoine Gouby pinctrl-0 = <&pinctrl_gpio_21_dp>; 41*3f519121SAntoine Gouby /* Aquila GPIO_21_DP */ 42*3f519121SAntoine Gouby gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>; 43*3f519121SAntoine Gouby enable-active-high; 44*3f519121SAntoine Gouby regulator-max-microvolt = <3300000>; 45*3f519121SAntoine Gouby regulator-min-microvolt = <3300000>; 46*3f519121SAntoine Gouby regulator-name = "DP_3V3"; 47*3f519121SAntoine Gouby startup-delay-us = <10000>; 48*3f519121SAntoine Gouby }; 49*3f519121SAntoine Gouby}; 50*3f519121SAntoine Gouby 51*3f519121SAntoine Gouby/* Aquila ADC_[1-4] */ 52*3f519121SAntoine Gouby&adc1 { 53*3f519121SAntoine Gouby status = "okay"; 54*3f519121SAntoine Gouby}; 55*3f519121SAntoine Gouby 56*3f519121SAntoine Gouby/* Aquila CTRL_WAKE1_MICO# */ 57*3f519121SAntoine Gouby&aquila_key_wake { 58*3f519121SAntoine Gouby status = "okay"; 59*3f519121SAntoine Gouby}; 60*3f519121SAntoine Gouby 61*3f519121SAntoine Gouby&dsi2dp_out { 62*3f519121SAntoine Gouby remote-endpoint = <&dp_1_connector_in>; 63*3f519121SAntoine Gouby}; 64*3f519121SAntoine Gouby 65*3f519121SAntoine Gouby/* Aquila ETH_1 */ 66*3f519121SAntoine Gouby&enetc_port0 { 67*3f519121SAntoine Gouby status = "okay"; 68*3f519121SAntoine Gouby}; 69*3f519121SAntoine Gouby 70*3f519121SAntoine Gouby/* Aquila CAN_1 */ 71*3f519121SAntoine Gouby&flexcan1 { 72*3f519121SAntoine Gouby status = "okay"; 73*3f519121SAntoine Gouby}; 74*3f519121SAntoine Gouby 75*3f519121SAntoine Gouby/* Aquila CAN_2 */ 76*3f519121SAntoine Gouby&flexcan2 { 77*3f519121SAntoine Gouby status = "okay"; 78*3f519121SAntoine Gouby}; 79*3f519121SAntoine Gouby 80*3f519121SAntoine Gouby/* Aquila CAN_3 */ 81*3f519121SAntoine Gouby&flexcan3 { 82*3f519121SAntoine Gouby status = "okay"; 83*3f519121SAntoine Gouby}; 84*3f519121SAntoine Gouby 85*3f519121SAntoine Gouby/* Aquila CAN_4 */ 86*3f519121SAntoine Gouby&flexcan4 { 87*3f519121SAntoine Gouby status = "okay"; 88*3f519121SAntoine Gouby}; 89*3f519121SAntoine Gouby 90*3f519121SAntoine Gouby/* Aquila QSPI_1 */ 91*3f519121SAntoine Gouby&flexspi1 { 92*3f519121SAntoine Gouby pinctrl-0 = <&pinctrl_flexspi1_4bit>, 93*3f519121SAntoine Gouby <&pinctrl_qspi_cs1>; 94*3f519121SAntoine Gouby 95*3f519121SAntoine Gouby status = "okay"; 96*3f519121SAntoine Gouby 97*3f519121SAntoine Gouby flash@0 { 98*3f519121SAntoine Gouby compatible = "jedec,spi-nor"; 99*3f519121SAntoine Gouby reg = <0x0>; 100*3f519121SAntoine Gouby spi-max-frequency = <66000000>; 101*3f519121SAntoine Gouby spi-rx-bus-width = <4>; 102*3f519121SAntoine Gouby spi-tx-bus-width = <4>; 103*3f519121SAntoine Gouby }; 104*3f519121SAntoine Gouby}; 105*3f519121SAntoine Gouby 106*3f519121SAntoine Gouby&gpio4 { 107*3f519121SAntoine Gouby pinctrl-names = "default"; 108*3f519121SAntoine Gouby pinctrl-0 = <&pinctrl_gpio_1>, 109*3f519121SAntoine Gouby <&pinctrl_gpio_2>, 110*3f519121SAntoine Gouby <&pinctrl_gpio_3>, 111*3f519121SAntoine Gouby <&pinctrl_gpio_4>; 112*3f519121SAntoine Gouby}; 113*3f519121SAntoine Gouby 114*3f519121SAntoine Gouby/* Aquila I2C_2 */ 115*3f519121SAntoine Gouby&i3c2 { 116*3f519121SAntoine Gouby status = "okay"; 117*3f519121SAntoine Gouby}; 118*3f519121SAntoine Gouby 119*3f519121SAntoine Gouby/* Aquila I2C_1 */ 120*3f519121SAntoine Gouby&lpi2c2 { 121*3f519121SAntoine Gouby status = "okay"; 122*3f519121SAntoine Gouby 123*3f519121SAntoine Gouby fan_controller: fan@18 { 124*3f519121SAntoine Gouby compatible = "ti,amc6821"; 125*3f519121SAntoine Gouby reg = <0x18>; 126*3f519121SAntoine Gouby #pwm-cells = <2>; 127*3f519121SAntoine Gouby 128*3f519121SAntoine Gouby fan { 129*3f519121SAntoine Gouby cooling-levels = <255>; 130*3f519121SAntoine Gouby pwms = <&fan_controller 40000 PWM_POLARITY_INVERTED>; 131*3f519121SAntoine Gouby }; 132*3f519121SAntoine Gouby }; 133*3f519121SAntoine Gouby 134*3f519121SAntoine Gouby temperature-sensor@4f { 135*3f519121SAntoine Gouby compatible = "ti,tmp1075"; 136*3f519121SAntoine Gouby reg = <0x4f>; 137*3f519121SAntoine Gouby }; 138*3f519121SAntoine Gouby 139*3f519121SAntoine Gouby /* USB-C OTG (TCPC USB PD PHY) */ 140*3f519121SAntoine Gouby tcpc@52 { 141*3f519121SAntoine Gouby compatible = "nxp,ptn5110", "tcpci"; 142*3f519121SAntoine Gouby reg = <0x52>; 143*3f519121SAntoine Gouby interrupt-parent = <&som_gpio_expander_1>; 144*3f519121SAntoine Gouby interrupts = <5 IRQ_TYPE_EDGE_FALLING>; 145*3f519121SAntoine Gouby 146*3f519121SAntoine Gouby connector { 147*3f519121SAntoine Gouby compatible = "usb-c-connector"; 148*3f519121SAntoine Gouby data-role = "dual"; 149*3f519121SAntoine Gouby op-sink-microwatt = <0>; 150*3f519121SAntoine Gouby power-role = "dual"; 151*3f519121SAntoine Gouby self-powered; 152*3f519121SAntoine Gouby sink-pdos = <PDO_FIXED(5000, 0, PDO_FIXED_USB_COMM)>; 153*3f519121SAntoine Gouby source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>; 154*3f519121SAntoine Gouby try-power-role = "sink"; 155*3f519121SAntoine Gouby 156*3f519121SAntoine Gouby ports { 157*3f519121SAntoine Gouby #address-cells = <1>; 158*3f519121SAntoine Gouby #size-cells = <0>; 159*3f519121SAntoine Gouby 160*3f519121SAntoine Gouby port@0 { 161*3f519121SAntoine Gouby reg = <0>; 162*3f519121SAntoine Gouby 163*3f519121SAntoine Gouby typec_con_hs: endpoint { 164*3f519121SAntoine Gouby remote-endpoint = <&usb1_con_hs>; 165*3f519121SAntoine Gouby }; 166*3f519121SAntoine Gouby }; 167*3f519121SAntoine Gouby 168*3f519121SAntoine Gouby port@1 { 169*3f519121SAntoine Gouby reg = <1>; 170*3f519121SAntoine Gouby 171*3f519121SAntoine Gouby typec_con_ss: endpoint { 172*3f519121SAntoine Gouby remote-endpoint = <&usb1_con_ss>; 173*3f519121SAntoine Gouby }; 174*3f519121SAntoine Gouby }; 175*3f519121SAntoine Gouby }; 176*3f519121SAntoine Gouby }; 177*3f519121SAntoine Gouby }; 178*3f519121SAntoine Gouby 179*3f519121SAntoine Gouby carrier_eeprom: eeprom@57 { 180*3f519121SAntoine Gouby compatible = "st,24c02", "atmel,24c02"; 181*3f519121SAntoine Gouby reg = <0x57>; 182*3f519121SAntoine Gouby pagesize = <16>; 183*3f519121SAntoine Gouby }; 184*3f519121SAntoine Gouby}; 185*3f519121SAntoine Gouby 186*3f519121SAntoine Gouby/* Aquila I2C_6 */ 187*3f519121SAntoine Gouby&lpi2c5 { 188*3f519121SAntoine Gouby status = "okay"; 189*3f519121SAntoine Gouby}; 190*3f519121SAntoine Gouby 191*3f519121SAntoine Gouby/* Aquila SPI_1 */ 192*3f519121SAntoine Gouby&lpspi6 { 193*3f519121SAntoine Gouby pinctrl-names = "default"; 194*3f519121SAntoine Gouby pinctrl-0 = <&pinctrl_lpspi6 &pinctrl_gpio_5>; 195*3f519121SAntoine Gouby cs-gpios = <&gpio2 0 GPIO_ACTIVE_LOW>, <&gpio4 18 GPIO_ACTIVE_LOW>; 196*3f519121SAntoine Gouby 197*3f519121SAntoine Gouby status = "okay"; 198*3f519121SAntoine Gouby 199*3f519121SAntoine Gouby tpm@1 { 200*3f519121SAntoine Gouby compatible = "infineon,slb9670", "tcg,tpm_tis-spi"; 201*3f519121SAntoine Gouby reg = <1>; 202*3f519121SAntoine Gouby pinctrl-names = "default"; 203*3f519121SAntoine Gouby pinctrl-0 = <&pinctrl_gpio_6>; 204*3f519121SAntoine Gouby interrupt-parent = <&gpio4>; 205*3f519121SAntoine Gouby interrupts = <17 IRQ_TYPE_LEVEL_LOW>; 206*3f519121SAntoine Gouby spi-max-frequency = <12000000>; 207*3f519121SAntoine Gouby }; 208*3f519121SAntoine Gouby}; 209*3f519121SAntoine Gouby 210*3f519121SAntoine Gouby/* Aquila UART_3, used as the Linux Console */ 211*3f519121SAntoine Gouby&lpuart1 { 212*3f519121SAntoine Gouby status = "okay"; 213*3f519121SAntoine Gouby}; 214*3f519121SAntoine Gouby 215*3f519121SAntoine Gouby/* Aquila UART_4 */ 216*3f519121SAntoine Gouby&lpuart2 { 217*3f519121SAntoine Gouby status = "okay"; 218*3f519121SAntoine Gouby}; 219*3f519121SAntoine Gouby 220*3f519121SAntoine Gouby/* Aquila UART_1 */ 221*3f519121SAntoine Gouby&lpuart3 { 222*3f519121SAntoine Gouby status = "okay"; 223*3f519121SAntoine Gouby}; 224*3f519121SAntoine Gouby 225*3f519121SAntoine Gouby/* Aquila UART_2 */ 226*3f519121SAntoine Gouby&lpuart7 { 227*3f519121SAntoine Gouby status = "okay"; 228*3f519121SAntoine Gouby}; 229*3f519121SAntoine Gouby 230*3f519121SAntoine Gouby/* Aquila PCIE_1 */ 231*3f519121SAntoine Gouby&pcie0 { 232*3f519121SAntoine Gouby status = "okay"; 233*3f519121SAntoine Gouby}; 234*3f519121SAntoine Gouby 235*3f519121SAntoine Gouby/* Aquila PWM_1 */ 236*3f519121SAntoine Gouby&tpm3 { 237*3f519121SAntoine Gouby status = "okay"; 238*3f519121SAntoine Gouby}; 239*3f519121SAntoine Gouby 240*3f519121SAntoine Gouby/* Aquila PWM_3_DSI and PWM_4_DP */ 241*3f519121SAntoine Gouby&tpm5 { 242*3f519121SAntoine Gouby status = "okay"; 243*3f519121SAntoine Gouby}; 244*3f519121SAntoine Gouby 245*3f519121SAntoine Gouby/* Aquila PWM_2 */ 246*3f519121SAntoine Gouby&tpm6 { 247*3f519121SAntoine Gouby status = "okay"; 248*3f519121SAntoine Gouby}; 249*3f519121SAntoine Gouby 250*3f519121SAntoine Gouby/* Aquila USB_2, optional Bluetooth USB */ 251*3f519121SAntoine Gouby&usb2 { 252*3f519121SAntoine Gouby status = "okay"; 253*3f519121SAntoine Gouby}; 254*3f519121SAntoine Gouby 255*3f519121SAntoine Gouby/* Aquila USB_1 */ 256*3f519121SAntoine Gouby&usb3 { 257*3f519121SAntoine Gouby status = "okay"; 258*3f519121SAntoine Gouby}; 259*3f519121SAntoine Gouby 260*3f519121SAntoine Gouby&usb3_dwc3 { 261*3f519121SAntoine Gouby status = "okay"; 262*3f519121SAntoine Gouby 263*3f519121SAntoine Gouby port { 264*3f519121SAntoine Gouby usb1_con_hs: endpoint { 265*3f519121SAntoine Gouby remote-endpoint = <&typec_con_hs>; 266*3f519121SAntoine Gouby }; 267*3f519121SAntoine Gouby }; 268*3f519121SAntoine Gouby}; 269*3f519121SAntoine Gouby 270*3f519121SAntoine Gouby&usb3_phy { 271*3f519121SAntoine Gouby orientation-switch; 272*3f519121SAntoine Gouby 273*3f519121SAntoine Gouby status = "okay"; 274*3f519121SAntoine Gouby 275*3f519121SAntoine Gouby port { 276*3f519121SAntoine Gouby usb1_con_ss: endpoint { 277*3f519121SAntoine Gouby remote-endpoint = <&typec_con_ss>; 278*3f519121SAntoine Gouby }; 279*3f519121SAntoine Gouby }; 280*3f519121SAntoine Gouby}; 281*3f519121SAntoine Gouby 282*3f519121SAntoine Gouby/* Aquila SD_1 */ 283*3f519121SAntoine Gouby&usdhc2 { 284*3f519121SAntoine Gouby status = "okay"; 285*3f519121SAntoine Gouby}; 286