// SPDX-License-Identifier: GPL-2.0-or-later OR MIT /* * Copyright (C) 2025 Toradex * * https://www.toradex.com/computer-on-modules/aquila-arm-family/ti-am69 * https://www.toradex.com/products/carrier-board/clover */ /dts-v1/; #include #include "k3-am69-aquila.dtsi" / { model = "Toradex Aquila AM69 on Clover Board"; compatible = "toradex,aquila-am69-clover", "toradex,aquila-am69", "ti,j784s4"; aliases { eeprom1 = &carrier_eeprom; }; reg_3v3_dp: regulator-3v3-dp { compatible = "regulator-fixed"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gpio_21_dp>; /* Aquila GPIO_21_DP (AQUILA B57) */ gpio = <&main_gpio0 37 GPIO_ACTIVE_HIGH>; enable-active-high; regulator-max-microvolt = <3300000>; regulator-min-microvolt = <3300000>; regulator-name = "DP_3V3"; startup-delay-us = <10000>; }; /* Aquila DP_1 */ dp-connector { compatible = "dp-connector"; dp-pwr-supply = <®_3v3_dp>; label = "Display Port"; type = "full-size"; port { dp_connector_in: endpoint { remote-endpoint = <&dp0_out>; }; }; }; }; /* On-module ETH_1 MDIO */ &davinci_mdio { status = "okay"; }; &dp0_ports { port@4 { reg = <4>; dp0_out: endpoint { remote-endpoint = <&dp_connector_in>; }; }; }; &dss { status = "okay"; }; &main0_thermal { cooling-maps { map0 { cooling-device = <&fan 1 1>; trip = <&main0_alert0>; }; map1 { cooling-device = <&fan 2 2>; trip = <&main0_alert1>; }; }; }; &main1_thermal { cooling-maps { map0 { cooling-device = <&fan 1 1>; trip = <&main1_alert0>; }; map1 { cooling-device = <&fan 2 2>; trip = <&main1_alert1>; }; }; }; &main2_thermal { cooling-maps { map0 { cooling-device = <&fan 1 1>; trip = <&main2_alert0>; }; map1 { cooling-device = <&fan 2 2>; trip = <&main2_alert1>; }; }; }; &main3_thermal { cooling-maps { map0 { cooling-device = <&fan 1 1>; trip = <&main3_alert0>; }; map1 { cooling-device = <&fan 2 2>; trip = <&main3_alert1>; }; }; }; &main4_thermal { cooling-maps { map0 { cooling-device = <&fan 1 1>; trip = <&main4_alert0>; }; map1 { cooling-device = <&fan 2 2>; trip = <&main4_alert1>; }; }; }; /* Aquila ETH_2 */ &main_cpsw0 { status = "okay"; }; /* Aquila ETH_2 SGMII PHY */ &main_cpsw0_port8 { phy-handle = <&cpsw0_port8_phy4>; status = "okay"; }; /* Aquila ETH_2_XGMII_MDIO */ &main_cpsw0_mdio { status = "okay"; cpsw0_port8_phy4: ethernet-phy@4 { reg = <4>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_eth2_int>; interrupt-parent = <&main_gpio0>; interrupts = <44 IRQ_TYPE_EDGE_FALLING>; }; }; /* Aquila PWM_1 */ &main_ehrpwm0 { status = "okay"; }; /* Aquila PWM_2 */ &main_ehrpwm1 { status = "okay"; }; &main_gpio0 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gpio_01>, /* Aquila GPIO_01 */ <&pinctrl_gpio_02>, /* Aquila GPIO_02 */ <&pinctrl_gpio_03>; /* Aquila GPIO_03 */ }; /* Aquila I2C_6 */ &main_i2c5 { status = "okay"; }; /* Aquila CAN_1 */ &main_mcan10 { status = "okay"; }; /* Aquila CAN_3 */ &main_mcan13 { status = "okay"; }; /* Aquila SD_1 */ &main_sdhci1 { status = "okay"; }; /* Aquila SPI_2 */ &main_spi0 { status = "okay"; }; /* Aquila SPI_1 */ &main_spi2 { pinctrl-0 = <&pinctrl_main_spi2>, <&pinctrl_main_spi2_cs0>, <&pinctrl_gpio_05>; cs-gpios = <0>, <&wkup_gpio0 29 GPIO_ACTIVE_LOW>; status = "okay"; tpm@1 { compatible = "infineon,slb9670", "tcg,tpm_tis-spi"; reg = <1>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gpio_06>; interrupt-parent = <&wkup_gpio0>; interrupts = <30 IRQ_TYPE_EDGE_FALLING>; spi-max-frequency = <18500000>; }; }; /* Aquila UART_1 */ &main_uart4 { status = "okay"; }; /* Aquila UART_3, used as the Linux console */ &main_uart8 { status = "okay"; }; &mcu_cpsw { status = "okay"; }; /* On-module ETH_1 RGMII */ &mcu_cpsw_port1 { status = "okay"; }; /* Aquila I2C_1 */ &mcu_i2c0 { clock-frequency = <100000>; status = "okay"; fan_controller: fan@18 { compatible = "ti,amc6821"; reg = <0x18>; #pwm-cells = <2>; fan: fan { cooling-levels = <102 179 255>; #cooling-cells = <2>; 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>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usb1_int>; interrupt-parent = <&main_gpio0>; interrupts = <28 IRQ_TYPE_EDGE_FALLING>; connector { compatible = "usb-c-connector"; data-role = "dual"; label = "USB-C OTG"; power-role = "dual"; try-power-role = "sink"; self-powered; source-pdos = ; sink-pdos = ; op-sink-microwatt = <1000000>; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; usb_1_con_hs: endpoint { remote-endpoint = <&usb0_hs>; }; }; port@1 { reg = <1>; usb_1_con_ss: endpoint { remote-endpoint = <&usb0_ss_mux>; }; }; }; }; }; carrier_eeprom: eeprom@57 { compatible = "st,24c02", "atmel,24c02"; reg = <0x57>; pagesize = <16>; }; }; /* Aquila I2C_2 */ &mcu_i2c1 { status = "okay"; }; /* Aquila CAN_2 */ &mcu_mcan0 { status = "okay"; }; /* Aquila CAN_4 */ &mcu_mcan1 { status = "okay"; }; /* Aquila UART_4 */ &mcu_uart0 { status = "okay"; }; &mhdp { status = "okay"; }; /* Aquila QSPI_1 */ &ospi0 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_mcu_ospi0_4bit>, <&pinctrl_mcu_ospi0_cs0>; status = "okay"; flash@0 { compatible = "jedec,spi-nor"; reg = <0>; spi-max-frequency = <66000000>; spi-rx-bus-width = <4>; spi-tx-bus-width = <4>; cdns,read-delay = <0>; cdns,tchsh-ns = <3>; cdns,tsd2d-ns = <10>; cdns,tshsl-ns = <30>; cdns,tslch-ns = <8>; }; }; /* Aquila PCIE_1 */ &pcie0_rc { status = "okay"; }; /* Aquila PCIE_2 */ &pcie1_rc { status = "okay"; }; &serdes2 { status = "okay"; }; &serdes4 { status = "okay"; }; &serdes_wiz2 { status = "okay"; }; &serdes_wiz4 { status = "okay"; }; /* Aquila ADC_[1-4] */ &tscadc0 { status = "okay"; }; &usbss0 { status = "okay"; }; &usb0ss_mux { status = "okay"; port { usb0_ss_mux: endpoint { remote-endpoint = <&usb_1_con_ss>; }; }; }; &usb0 { status = "okay"; port { usb0_hs: endpoint { remote-endpoint = <&usb_1_con_hs>; }; }; }; &wkup0_thermal { cooling-maps { map0 { cooling-device = <&fan 1 1>; trip = <&wkup0_alert0>; }; map1 { cooling-device = <&fan 2 2>; trip = <&wkup0_alert1>; }; }; }; &wkup1_thermal { cooling-maps { map0 { cooling-device = <&fan 1 1>; trip = <&wkup1_alert0>; }; map1 { cooling-device = <&fan 2 2>; trip = <&wkup1_alert1>; }; }; }; &wkup_gpio0 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gpio_04>; /* Aquila GPIO_04 */ }; /* Aquila UART_2 */ &wkup_uart0 { status = "okay"; };