mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-01 15:14:52 +00:00

Add support for Toradex Verdin AM62P computer on module which can be used on different carrier boards and for the Toradex Verdin Development Board carrier board. The module consists of an TI AM62P family SoC, a TPS65219 PMIC, a Gigabit Ethernet PHY, up to 8GB of LPDDR4 RAM, an eMMC, a TLA2024 ADC, an I2C EEPROM, an RX8130 RTC, plus an optional Bluetooth/Wi-Fi module. Anything that is not self-contained on the module is disabled by default. Link: https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62p Link: https://www.toradex.com/products/carrier-board/verdin-development-board-kit Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> Link: https://lore.kernel.org/r/20250430102815.149162-3-francesco@dolcini.it Signed-off-by: Nishanth Menon <nm@ti.com>
246 lines
4.1 KiB
Plaintext
246 lines
4.1 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
|
/*
|
|
* Copyright 2025 Toradex
|
|
*
|
|
* Common dtsi for Verdin AM62P SoM on Development carrier board
|
|
*
|
|
* https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62p
|
|
* https://www.toradex.com/products/carrier-board/verdin-development-board-kit
|
|
*/
|
|
|
|
/ {
|
|
aliases {
|
|
eeprom1 = &carrier_eeprom;
|
|
};
|
|
|
|
sound {
|
|
compatible = "simple-audio-card";
|
|
simple-audio-card,bitclock-master = <&codec_dai>;
|
|
simple-audio-card,format = "i2s";
|
|
simple-audio-card,frame-master = <&codec_dai>;
|
|
simple-audio-card,mclk-fs = <256>;
|
|
simple-audio-card,name = "verdin-nau8822";
|
|
simple-audio-card,routing =
|
|
"Headphones", "LHP",
|
|
"Headphones", "RHP",
|
|
"Speaker", "LSPK",
|
|
"Speaker", "RSPK",
|
|
"Line Out", "AUXOUT1",
|
|
"Line Out", "AUXOUT2",
|
|
"LAUX", "Line In",
|
|
"RAUX", "Line In",
|
|
"LMICP", "Mic In",
|
|
"RMICP", "Mic In";
|
|
simple-audio-card,widgets =
|
|
"Headphones", "Headphones",
|
|
"Line Out", "Line Out",
|
|
"Speaker", "Speaker",
|
|
"Microphone", "Mic In",
|
|
"Line", "Line In";
|
|
|
|
codec_dai: simple-audio-card,codec {
|
|
sound-dai = <&nau8822_1a>;
|
|
};
|
|
|
|
simple-audio-card,cpu {
|
|
sound-dai = <&mcasp0>;
|
|
};
|
|
};
|
|
};
|
|
|
|
/* Verdin ETHs */
|
|
&cpsw3g {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_rgmii1>, <&pinctrl_rgmii2>;
|
|
status = "okay";
|
|
};
|
|
|
|
/* MDIO, shared by Verdin ETH_1 (On-module PHY) and Verdin ETH_2_RGMII */
|
|
&cpsw3g_mdio {
|
|
status = "okay";
|
|
|
|
carrier_eth_phy: ethernet-phy@7 {
|
|
compatible = "ethernet-phy-ieee802.3-c22";
|
|
reg = <7>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_eth2_rgmii_int>;
|
|
interrupt-parent = <&main_gpio0>;
|
|
interrupts = <42 IRQ_TYPE_EDGE_FALLING>;
|
|
micrel,led-mode = <0>;
|
|
};
|
|
};
|
|
|
|
/* Verdin ETH_1 (On-module PHY) */
|
|
&cpsw_port1 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin ETH_2_RGMII */
|
|
&cpsw_port2 {
|
|
phy-handle = <&carrier_eth_phy>;
|
|
phy-mode = "rgmii-rxid";
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin PWM_3_DSI */
|
|
&epwm0 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin PWM_1, PWM_2 */
|
|
&epwm2 {
|
|
status = "okay";
|
|
};
|
|
|
|
&main_gpio0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_pcie_1_reset>,
|
|
<&pinctrl_gpio_5>,
|
|
<&pinctrl_gpio_6>,
|
|
<&pinctrl_gpio_7>,
|
|
<&pinctrl_gpio_8>;
|
|
};
|
|
|
|
/* Verdin I2C_1 */
|
|
&main_i2c0 {
|
|
status = "okay";
|
|
|
|
nau8822_1a: audio-codec@1a {
|
|
compatible = "nuvoton,nau8822";
|
|
reg = <0x1a>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_i2s1_mclk>;
|
|
clock-names = "mclk";
|
|
clocks = <&audio_refclk0>;
|
|
#sound-dai-cells = <0>;
|
|
};
|
|
|
|
carrier_gpio_expander: gpio@21 {
|
|
compatible = "nxp,pcal6416";
|
|
reg = <0x21>;
|
|
#gpio-cells = <2>;
|
|
gpio-controller;
|
|
};
|
|
|
|
/* Current measurement into module VCC */
|
|
hwmon@40 {
|
|
compatible = "ti,ina219";
|
|
reg = <0x40>;
|
|
shunt-resistor = <10000>;
|
|
};
|
|
|
|
temperature-sensor@4f {
|
|
compatible = "ti,tmp75c";
|
|
reg = <0x4f>;
|
|
};
|
|
|
|
carrier_eeprom: eeprom@57 {
|
|
compatible = "st,24c02", "atmel,24c02";
|
|
reg = <0x57>;
|
|
pagesize = <16>;
|
|
};
|
|
};
|
|
|
|
/* Verdin I2C_2_DSI */
|
|
&main_i2c1 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin I2C_4_CSI */
|
|
&main_i2c3 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin CAN_1 */
|
|
&main_mcan0 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin SPI_1 */
|
|
&main_spi1 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin UART_3, used as the Linux console */
|
|
&main_uart0 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin UART_1, connector X50 through RS485 transceiver */
|
|
&main_uart1 {
|
|
rs485-rx-during-tx;
|
|
linux,rs485-enabled-at-boot-time;
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin I2S_1 */
|
|
&mcasp0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&mcu_gpio0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_gpio_1>,
|
|
<&pinctrl_gpio_2>,
|
|
<&pinctrl_gpio_3>,
|
|
<&pinctrl_gpio_4>;
|
|
};
|
|
|
|
/* Verdin I2C_3_HDMI */
|
|
&mcu_i2c0 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin CAN_2 */
|
|
&mcu_mcan0 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin UART_4 */
|
|
&mcu_uart0 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin QSPI_1 */
|
|
&ospi0 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin SD_1 */
|
|
&sdhci1 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin USB_1 */
|
|
&usbss0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb0 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin USB_2 */
|
|
&usbss1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb1 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin CTRL_WAKE1_MICO# */
|
|
&verdin_gpio_keys {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin PCIE_1_RESET# */
|
|
&verdin_pcie_1_reset_hog {
|
|
status = "okay";
|
|
};
|
|
|
|
/* Verdin UART_2 */
|
|
&wkup_uart0 {
|
|
status = "okay";
|
|
};
|