mirror of
https://github.com/torvalds/linux.git
synced 2026-07-30 19:21:28 +02:00
arm64: dts: freescale: Add Verdin iMX95 support
Add support for the Toradex Verdin iMX95 and its development carrier board. The module consists of an NXP i.MX95 family SoC, up to 16GB LPDDR4x RAM, up to 128GB of storage, a USB 3.2 OTG and USB 2.0 Host, a Gigabit Ethernet PHY, an I2C EEPROM and Temperature Sensor, an RX8130 RTC, an I3C bus, one Quad lane CSI interface, one Quad lane DSI or CSI interface, one LVDS interface (one or two channels), and some optional addons: TPM 2.0, and a WiFi/BT module. Link: https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx95 Link: https://www.toradex.com/products/carrier-board/verdin-development-board-kit Co-developed-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com> Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com> Co-developed-by: Francesco Dolcini <francesco.dolcini@toradex.com> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com> Signed-off-by: Frank Li <Frank.Li@nxp.com>
This commit is contained in:
parent
70db6463c9
commit
676d7ce22f
|
|
@ -506,6 +506,8 @@ dtb-$(CONFIG_ARCH_MXC) += imx95-19x19-evk-sof.dtb
|
|||
dtb-$(CONFIG_ARCH_MXC) += imx95-toradex-smarc-dev.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx95-tqma9596sa-mb-smarc-2.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx95-var-dart-sonata.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-nonwifi-dev.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-dev.dtb
|
||||
|
||||
imx95-15x15-evk-pcie0-ep-dtbs = imx95-15x15-evk.dtb imx-pcie0-ep.dtbo
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx95-15x15-evk-pcie0-ep.dtb
|
||||
|
|
|
|||
250
arch/arm64/boot/dts/freescale/imx95-verdin-dev.dtsi
Normal file
250
arch/arm64/boot/dts/freescale/imx95-verdin-dev.dtsi
Normal file
|
|
@ -0,0 +1,250 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/*
|
||||
* Copyright (c) Toradex
|
||||
*
|
||||
* Common dtsi for Verdin iMX95 SoM on development carrier board
|
||||
*
|
||||
* https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx95
|
||||
* 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 {
|
||||
clocks = <&scmi_clk IMX95_CLK_SAI3>;
|
||||
sound-dai = <&nau8822_1a>;
|
||||
};
|
||||
|
||||
simple-audio-card,cpu {
|
||||
sound-dai = <&sai3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* Verdin ADC_1, ADC_2, ADC_3 and ADC_4 */
|
||||
&adc1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Verdin ETH_1 (On-module PHY) */
|
||||
&enetc_port0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Verdin ETH_2_RGMII */
|
||||
&enetc_port1 {
|
||||
phy-handle = <ðphy2>;
|
||||
phy-mode = "rgmii-id";
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Verdin CAN_1 */
|
||||
&flexcan1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Verdin CAN_2 */
|
||||
&flexcan2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Verdin QSPI_1 */
|
||||
&flexspi1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_ctrl_sleep_moci>;
|
||||
};
|
||||
|
||||
&gpio2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gpio1>,
|
||||
<&pinctrl_gpio2>,
|
||||
<&pinctrl_gpio3>;
|
||||
};
|
||||
|
||||
&gpio3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gpio6>;
|
||||
};
|
||||
|
||||
&gpio4 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gpio5>;
|
||||
};
|
||||
|
||||
&gpio5 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gpio4>;
|
||||
};
|
||||
|
||||
/* Verdin I2C_3_HDMI */
|
||||
&i3c2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Verdin I2C_2_DSI */
|
||||
&lpi2c3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Verdin I2C_1 */
|
||||
&lpi2c4 {
|
||||
status = "okay";
|
||||
|
||||
nau8822_1a: audio-codec@1a {
|
||||
compatible = "nuvoton,nau8822";
|
||||
reg = <0x1a>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_sai3_mclk>;
|
||||
#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_4_CSI */
|
||||
&lpi2c5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Verdin UART_3, used as the Linux console */
|
||||
&lpuart1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Verdin UART_4 */
|
||||
&lpuart2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Verdin UART_1, connector X50 through RS485 transceiver */
|
||||
&lpuart7 {
|
||||
rs485-rts-active-low;
|
||||
rs485-rx-during-tx;
|
||||
linux,rs485-enabled-at-boot-time;
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Verdin UART_2 */
|
||||
&lpuart8 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&netc_emdio {
|
||||
ethphy2: ethernet-phy@7 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <7>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_eth2_rgmii_int>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
|
||||
micrel,led-mode = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Verdin PCIE_1 */
|
||||
&pcie0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Verdin I2S_1 */
|
||||
&sai3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Verdin PWM_1 */
|
||||
&tpm4 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Verdin PWM_2 */
|
||||
&tpm5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Verdin PWM_3_DSI */
|
||||
&tpm6 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Verdin USB_1 */
|
||||
&usb2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Verdin USB_2 */
|
||||
&usb3 {
|
||||
fsl,permanently-attached;
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb3_phy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Verdin SD_1 */
|
||||
&usdhc2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Verdin CTRL_WAKE1_MICO# */
|
||||
&verdin_gpio_keys {
|
||||
status = "okay";
|
||||
};
|
||||
21
arch/arm64/boot/dts/freescale/imx95-verdin-nonwifi-dev.dts
Normal file
21
arch/arm64/boot/dts/freescale/imx95-verdin-nonwifi-dev.dts
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/*
|
||||
* Copyright (c) Toradex
|
||||
*
|
||||
* https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx95
|
||||
* https://www.toradex.com/products/carrier-board/verdin-development-board-kit
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx95-verdin.dtsi"
|
||||
#include "imx95-verdin-nonwifi.dtsi"
|
||||
#include "imx95-verdin-dev.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Toradex Verdin iMX95 on Verdin Development Board";
|
||||
compatible = "toradex,verdin-imx95-nonwifi-dev",
|
||||
"toradex,verdin-imx95-nonwifi",
|
||||
"toradex,verdin-imx95",
|
||||
"fsl,imx95";
|
||||
};
|
||||
16
arch/arm64/boot/dts/freescale/imx95-verdin-nonwifi.dtsi
Normal file
16
arch/arm64/boot/dts/freescale/imx95-verdin-nonwifi.dtsi
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/*
|
||||
* Copyright (c) Toradex
|
||||
*
|
||||
* Common dtsi for Verdin iMX95 SoM non-WB variant
|
||||
*
|
||||
* https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx95
|
||||
*/
|
||||
|
||||
/* SDIO on MSP 30, 31, 32, 33, 34, 35 */
|
||||
&usdhc3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usdhc3>;
|
||||
|
||||
status = "disabled";
|
||||
};
|
||||
21
arch/arm64/boot/dts/freescale/imx95-verdin-wifi-dev.dts
Normal file
21
arch/arm64/boot/dts/freescale/imx95-verdin-wifi-dev.dts
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/*
|
||||
* Copyright (c) Toradex
|
||||
*
|
||||
* https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx95
|
||||
* https://www.toradex.com/products/carrier-board/verdin-development-board-kit
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx95-verdin.dtsi"
|
||||
#include "imx95-verdin-wifi.dtsi"
|
||||
#include "imx95-verdin-dev.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Toradex Verdin iMX95 WB on Verdin Development Board";
|
||||
compatible = "toradex,verdin-imx95-wifi-dev",
|
||||
"toradex,verdin-imx95-wifi",
|
||||
"toradex,verdin-imx95",
|
||||
"fsl,imx95";
|
||||
};
|
||||
50
arch/arm64/boot/dts/freescale/imx95-verdin-wifi.dtsi
Normal file
50
arch/arm64/boot/dts/freescale/imx95-verdin-wifi.dtsi
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/*
|
||||
* Copyright (c) Toradex
|
||||
*
|
||||
* Common dtsi for Verdin iMX95 SoM WB variant
|
||||
*
|
||||
* https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx95
|
||||
*/
|
||||
|
||||
/ {
|
||||
reg_wifi_en: regulator-wifi-en {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_wifi_pwr_en>;
|
||||
/* PMIC_EN_WIFI */
|
||||
gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-name = "PDn_MAYA-W260";
|
||||
startup-delay-us = <2000>;
|
||||
};
|
||||
};
|
||||
|
||||
/* On-module Bluetooth */
|
||||
&lpuart6 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_bt_uart>;
|
||||
uart-has-rtscts;
|
||||
|
||||
status = "okay";
|
||||
|
||||
som_bt: bluetooth {
|
||||
compatible = "nxp,88w8987-bt";
|
||||
fw-init-baudrate = <3000000>;
|
||||
};
|
||||
};
|
||||
|
||||
/* On-module Wi-Fi */
|
||||
&usdhc3 {
|
||||
pinctrl-names = "default", "state_100mhz", "state_200mhz";
|
||||
pinctrl-0 = <&pinctrl_usdhc3>;
|
||||
pinctrl-1 = <&pinctrl_usdhc3>;
|
||||
pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
|
||||
keep-power-in-suspend;
|
||||
non-removable;
|
||||
vmmc-supply = <®_wifi_en>;
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
1162
arch/arm64/boot/dts/freescale/imx95-verdin.dtsi
Normal file
1162
arch/arm64/boot/dts/freescale/imx95-verdin.dtsi
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user