// SPDX-License-Identifier: GPL-2.0-or-later OR MIT /* * Copyright (c) Toradex * * https://www.toradex.com/computer-on-modules/aquila-arm-family/nxp-imx95 * https://www.toradex.com/products/carrier-board/clover */ /dts-v1/; #include #include #include "imx95-aquila.dtsi" / { model = "Aquila iMX95 on Aquila Clover Board"; compatible = "toradex,aquila-imx95-clover", "toradex,aquila-imx95", "fsl,imx95"; aliases { eeprom1 = &carrier_eeprom; }; dp_1_connector: dp0-connector { compatible = "dp-connector"; dp-pwr-supply = <®_dp_3p3v>; type = "full-size"; port { dp_1_connector_in: endpoint { remote-endpoint = <&dsi2dp_out>; }; }; }; reg_dp_3p3v: regulator-dp-3p3v { compatible = "regulator-fixed"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gpio_21_dp>; /* Aquila GPIO_21_DP */ gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>; enable-active-high; regulator-max-microvolt = <3300000>; regulator-min-microvolt = <3300000>; regulator-name = "DP_3V3"; startup-delay-us = <10000>; }; }; /* Aquila ADC_[1-4] */ &adc1 { status = "okay"; }; /* Aquila CTRL_WAKE1_MICO# */ &aquila_key_wake { status = "okay"; }; &dsi2dp_out { remote-endpoint = <&dp_1_connector_in>; }; /* Aquila ETH_1 */ &enetc_port0 { status = "okay"; }; /* Aquila CAN_1 */ &flexcan1 { status = "okay"; }; /* Aquila CAN_2 */ &flexcan2 { status = "okay"; }; /* Aquila CAN_3 */ &flexcan3 { status = "okay"; }; /* Aquila CAN_4 */ &flexcan4 { status = "okay"; }; /* Aquila QSPI_1 */ &flexspi1 { pinctrl-0 = <&pinctrl_flexspi1_4bit>, <&pinctrl_qspi_cs1>; status = "okay"; flash@0 { compatible = "jedec,spi-nor"; reg = <0x0>; spi-max-frequency = <66000000>; spi-rx-bus-width = <4>; spi-tx-bus-width = <4>; }; }; &gpio4 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gpio_1>, <&pinctrl_gpio_2>, <&pinctrl_gpio_3>, <&pinctrl_gpio_4>; }; /* Aquila I2C_2 */ &i3c2 { status = "okay"; }; /* Aquila I2C_1 */ &lpi2c2 { status = "okay"; fan_controller: fan@18 { compatible = "ti,amc6821"; reg = <0x18>; #pwm-cells = <2>; fan { cooling-levels = <255>; pwms = <&fan_controller 40000 PWM_POLARITY_INVERTED>; }; }; temperature-sensor@4f { compatible = "ti,tmp1075"; reg = <0x4f>; }; /* USB-C OTG (TCPC USB PD PHY) */ tcpc@52 { compatible = "nxp,ptn5110", "tcpci"; reg = <0x52>; interrupt-parent = <&som_gpio_expander_1>; interrupts = <5 IRQ_TYPE_EDGE_FALLING>; connector { compatible = "usb-c-connector"; data-role = "dual"; op-sink-microwatt = <0>; power-role = "dual"; self-powered; sink-pdos = ; source-pdos = ; try-power-role = "sink"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; typec_con_hs: endpoint { remote-endpoint = <&usb1_con_hs>; }; }; port@1 { reg = <1>; typec_con_ss: endpoint { remote-endpoint = <&usb1_con_ss>; }; }; }; }; }; carrier_eeprom: eeprom@57 { compatible = "st,24c02", "atmel,24c02"; reg = <0x57>; pagesize = <16>; }; }; /* Aquila I2C_6 */ &lpi2c5 { status = "okay"; }; /* Aquila SPI_1 */ &lpspi6 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_lpspi6 &pinctrl_gpio_5>; cs-gpios = <&gpio2 0 GPIO_ACTIVE_LOW>, <&gpio4 18 GPIO_ACTIVE_LOW>; status = "okay"; tpm@1 { compatible = "infineon,slb9670", "tcg,tpm_tis-spi"; reg = <1>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gpio_6>; interrupt-parent = <&gpio4>; interrupts = <17 IRQ_TYPE_LEVEL_LOW>; spi-max-frequency = <12000000>; }; }; /* Aquila UART_3, used as the Linux Console */ &lpuart1 { status = "okay"; }; /* Aquila UART_4 */ &lpuart2 { status = "okay"; }; /* Aquila UART_1 */ &lpuart3 { status = "okay"; }; /* Aquila UART_2 */ &lpuart7 { status = "okay"; }; /* Aquila PCIE_1 */ &pcie0 { status = "okay"; }; /* Aquila PWM_1 */ &tpm3 { status = "okay"; }; /* Aquila PWM_3_DSI and PWM_4_DP */ &tpm5 { status = "okay"; }; /* Aquila PWM_2 */ &tpm6 { status = "okay"; }; /* Aquila USB_2, optional Bluetooth USB */ &usb2 { status = "okay"; }; /* Aquila USB_1 */ &usb3 { status = "okay"; }; &usb3_dwc3 { status = "okay"; port { usb1_con_hs: endpoint { remote-endpoint = <&typec_con_hs>; }; }; }; &usb3_phy { orientation-switch; status = "okay"; port { usb1_con_ss: endpoint { remote-endpoint = <&typec_con_ss>; }; }; }; /* Aquila SD_1 */ &usdhc2 { status = "okay"; };