-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
board: toradex: add verdin am62 support
This adds initial support for the Toradex Verdin AM62 Quad 1GB WB IT V1.0A module and subsequent V1.1 launch configuration SKUs. They are strapped to boot from their on-module eMMC. U-Boot supports booting from the on-module eMMC only, DFU support is disabled for now due to missing AM62x USB support. The device trees were taken straight from Linux v6.5-rc1. Boot sequence is: SYSFW ---> R5 SPL (both in tiboot3.bin) ---> ATF (TF-A) ---> OP-TEE ---> A53 SPL (part of tispl.bin) ---> U-boot proper (u-boot.img) Signed-off-by: Marcel Ziswiler <[email protected]> Reviewed-by: Nishanth Menon <[email protected]>
- Loading branch information
Showing
25 changed files
with
6,907 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,190 @@ | ||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||
/* | ||
* Copyright 2023 Toradex | ||
* | ||
* Common dtsi for Verdin AM62 SoM on Development carrier board | ||
* | ||
* https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62 | ||
* https://www.toradex.com/products/carrier-board/verdin-development-board-kit | ||
*/ | ||
|
||
/* 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"; | ||
|
||
cpsw3g_phy1: ethernet-phy@7 { | ||
compatible = "ethernet-phy-ieee802.3-c22"; | ||
reg = <7>; | ||
interrupt-parent = <&main_gpio0>; | ||
interrupts = <38 IRQ_TYPE_EDGE_FALLING>; | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&pinctrl_eth2_rgmii_int>; | ||
micrel,led-mode = <0>; | ||
}; | ||
}; | ||
|
||
/* Verdin ETH_1 (On-module PHY) */ | ||
&cpsw_port1 { | ||
status = "okay"; | ||
}; | ||
|
||
/* Verdin ETH_2_RGMII */ | ||
&cpsw_port2 { | ||
phy-handle = <&cpsw3g_phy1>; | ||
phy-mode = "rgmii-rxid"; | ||
status = "okay"; | ||
}; | ||
|
||
/* Verdin PWM_1, PWM_2 */ | ||
&epwm0 { | ||
status = "okay"; | ||
}; | ||
|
||
/* Verdin PWM_3_DSI */ | ||
&epwm1 { | ||
status = "okay"; | ||
}; | ||
|
||
&main_gpio0 { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&pinctrl_ctrl_sleep_moci>, | ||
<&pinctrl_gpio_5>, | ||
<&pinctrl_gpio_6>, | ||
<&pinctrl_gpio_7>, | ||
<&pinctrl_gpio_8>; | ||
}; | ||
|
||
/* Verdin I2C_1 */ | ||
&main_i2c1 { | ||
status = "okay"; | ||
|
||
/* IO Expander */ | ||
gpio_expander_21: 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 */ | ||
sensor@4f { | ||
compatible = "ti,tmp75c"; | ||
reg = <0x4f>; | ||
}; | ||
|
||
/* EEPROM */ | ||
eeprom@57 { | ||
compatible = "st,24c02", "atmel,24c02"; | ||
reg = <0x57>; | ||
pagesize = <16>; | ||
}; | ||
}; | ||
|
||
/* Verdin I2C_2_DSI */ | ||
&main_i2c2 { | ||
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 */ | ||
&main_uart0 { | ||
status = "okay"; | ||
}; | ||
|
||
/* Verdin UART_1, connector X50 through RS485 transceiver. */ | ||
&main_uart1 { | ||
linux,rs485-enabled-at-boot-time; | ||
rs485-rx-during-tx; | ||
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 UART_4 */ | ||
&mcu_uart0 { | ||
status = "okay"; | ||
}; | ||
|
||
/* Verdin QSPI_1 */ | ||
&ospi0 { | ||
status = "okay"; | ||
}; | ||
|
||
/* Verdin SD_1 */ | ||
&sdhci1 { | ||
ti,driver-strength-ohm = <33>; | ||
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 UART_2 */ | ||
&wkup_uart0 { | ||
/* FIXME: WKUP UART0 is used by DM firmware */ | ||
status = "reserved"; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||
/* | ||
* Copyright 2023 Toradex | ||
* | ||
* Common dtsi for Verdin AM62 SoM WB variant | ||
* | ||
* https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62 | ||
*/ | ||
|
||
/ { | ||
wifi_pwrseq: wifi-pwrseq { | ||
compatible = "mmc-pwrseq-simple"; | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&pinctrl_wifi_en>; | ||
reset-gpios = <&main_gpio0 22 GPIO_ACTIVE_LOW>; | ||
}; | ||
}; | ||
|
||
/* On-module Wi-Fi */ | ||
&sdhci2 { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&pinctrl_sdhci2>; | ||
bus-width = <4>; | ||
cap-power-off-card; | ||
keep-power-in-suspend; | ||
mmc-pwrseq = <&wifi_pwrseq>; | ||
non-removable; | ||
ti,fails-without-test-cd; | ||
ti,driver-strength-ohm = <50>; | ||
vmmc-supply = <®_3v3>; | ||
status = "okay"; | ||
}; | ||
|
||
/* On-module Bluetooth */ | ||
&main_uart5 { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&pinctrl_uart5>; | ||
status = "okay"; | ||
}; |
Oops, something went wrong.