mirror of
https://github.com/torvalds/linux.git
synced 2026-07-30 03:01:41 +02:00
arm64: dts: freescale: imx95-aquila: Add Clover carrier board
Add support for the Aquila i.MX95 SoM mated with the Clover carrier board. Clover is a low-cost carrier board for the Aquila family featuring a small form factor (Nano-ITX 120mm x 120mm) and built for volume production. Link: https://www.toradex.com/computer-on-modules/aquila-arm-family/nxp-imx95 Link: https://www.toradex.com/products/carrier-board/clover Signed-off-by: Antoine Gouby <antoine.gouby@toradex.com> Signed-off-by: Franz Schnyder <franz.schnyder@toradex.com> Signed-off-by: Frank Li <Frank.Li@nxp.com>
This commit is contained in:
parent
d5c082ba23
commit
3f519121e1
|
|
@ -637,6 +637,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx95-15x15-frdm.dtb
|
|||
dtb-$(CONFIG_ARCH_MXC) += imx95-19x19-evk.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx95-19x19-evk-sof.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx95-19x19-frdm-pro.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx95-aquila-clover.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx95-aquila-dev.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx95-toradex-smarc-dev.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx95-tqma9596sa-mb-smarc-2.dtb
|
||||
|
|
|
|||
285
arch/arm64/boot/dts/freescale/imx95-aquila-clover.dts
Normal file
285
arch/arm64/boot/dts/freescale/imx95-aquila-clover.dts
Normal file
|
|
@ -0,0 +1,285 @@
|
|||
// 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 <dt-bindings/pwm/pwm.h>
|
||||
#include <dt-bindings/usb/pd.h>
|
||||
#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 = <PDO_FIXED(5000, 0, PDO_FIXED_USB_COMM)>;
|
||||
source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
|
||||
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";
|
||||
};
|
||||
Loading…
Reference in New Issue
Block a user