mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
arm64: dts: freescale: add Toradex SMARC iMX8MP
Add DT support for Toradex SMARC iMX8MP SoM and Toradex SMARC Development carrier board. Link: https://www.toradex.com/computer-on-modules/smarc-arm-family/nxp-imx-8m-plus Link: https://www.toradex.com/products/carrier-board/smarc-development-board-kit Co-developed-by: Hiago De Franco <hiago.franco@toradex.com> Signed-off-by: Hiago De Franco <hiago.franco@toradex.com> Signed-off-by: Vitor Soares <vitor.soares@toradex.com> Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
This commit is contained in:
@@ -213,6 +213,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mp-skov-revb-lt6.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-skov-revb-mi1010ait-1cp1.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-skov-revc-bd500.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-skov-revc-tian-g07017.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-toradex-smarc-dev.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-tqma8mpql-mba8mpxl.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-tqma8mpql-mba8mp-ras314.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-var-som-symphony.dtb
|
||||
|
||||
297
arch/arm64/boot/dts/freescale/imx8mp-toradex-smarc-dev.dts
Normal file
297
arch/arm64/boot/dts/freescale/imx8mp-toradex-smarc-dev.dts
Normal file
@@ -0,0 +1,297 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
/* Copyright (C) 2025 Toradex */
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx8mp-toradex-smarc.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Toradex SMARC iMX8M Plus on Toradex SMARC Development Board";
|
||||
compatible = "toradex,smarc-imx8mp-dev",
|
||||
"toradex,smarc-imx8mp",
|
||||
"fsl,imx8mp";
|
||||
|
||||
hdmi-connector {
|
||||
compatible = "hdmi-connector";
|
||||
label = "J64";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
native_hdmi_connector_in: endpoint {
|
||||
remote-endpoint = <&hdmi_tx_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
reg_carrier_1p8v: regulator-carrier-1p8v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-name = "On-carrier 1V8";
|
||||
};
|
||||
|
||||
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 = "tdx-smarc-wm8904";
|
||||
simple-audio-card,routing =
|
||||
"Headphone Jack", "HPOUTL",
|
||||
"Headphone Jack", "HPOUTR",
|
||||
"IN2L", "Line In Jack",
|
||||
"IN2R", "Line In Jack",
|
||||
"Microphone Jack", "MICBIAS",
|
||||
"IN1L", "Microphone Jack";
|
||||
simple-audio-card,widgets =
|
||||
"Microphone", "Microphone Jack",
|
||||
"Headphone", "Headphone Jack",
|
||||
"Line", "Line In Jack";
|
||||
|
||||
codec_dai: simple-audio-card,codec {
|
||||
clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_MCLK1>;
|
||||
sound-dai = <&wm8904_1a>;
|
||||
};
|
||||
|
||||
simple-audio-card,cpu {
|
||||
sound-dai = <&sai1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&aud2htx {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* SMARC SPI0 */
|
||||
&ecspi1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* SMARC GBE0 */
|
||||
&eqos {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* SMARC GBE1 */
|
||||
&fec {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* SMARC CAN1 */
|
||||
&flexcan1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* SMARC CAN0 */
|
||||
&flexcan2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gpio7>,
|
||||
<&pinctrl_gpio8>,
|
||||
<&pinctrl_gpio9>,
|
||||
<&pinctrl_gpio10>,
|
||||
<&pinctrl_gpio11>,
|
||||
<&pinctrl_gpio12>,
|
||||
<&pinctrl_gpio13>;
|
||||
};
|
||||
|
||||
&gpio3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_lvds_dsi_sel>;
|
||||
};
|
||||
|
||||
&gpio4 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gpio4>, <&pinctrl_gpio6>;
|
||||
};
|
||||
|
||||
&hdmi_pvi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* SMARC HDMI */
|
||||
&hdmi_tx {
|
||||
status = "okay";
|
||||
|
||||
ports {
|
||||
port@1 {
|
||||
hdmi_tx_out: endpoint {
|
||||
remote-endpoint = <&native_hdmi_connector_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi_tx_phy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* SMARC I2C_LCD */
|
||||
&i2c2 {
|
||||
status = "okay";
|
||||
|
||||
i2c-mux@70 {
|
||||
compatible = "nxp,pca9543";
|
||||
reg = <0x70>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
/* I2C on DSI Connector Pins 4/6 */
|
||||
i2c_dsi_0: i2c@0 {
|
||||
reg = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
/* I2C on DSI Connector Pins 52/54 */
|
||||
i2c_dsi_1: i2c@1 {
|
||||
reg = <1>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* SMARC I2C_CAM0 */
|
||||
&i2c3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* SMARC I2C_GP */
|
||||
&i2c4 {
|
||||
/* Audio Codec */
|
||||
wm8904_1a: audio-codec@1a {
|
||||
compatible = "wlf,wm8904";
|
||||
reg = <0x1a>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_sai1>, <&pinctrl_sai1_mclk>;
|
||||
#sound-dai-cells = <0>;
|
||||
clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_MCLK1>;
|
||||
clock-names = "mclk";
|
||||
AVDD-supply = <®_carrier_1p8v>;
|
||||
CPVDD-supply = <®_carrier_1p8v>;
|
||||
DBVDD-supply = <®_carrier_1p8v>;
|
||||
DCVDD-supply = <®_carrier_1p8v>;
|
||||
MICVDD-supply = <®_carrier_1p8v>;
|
||||
};
|
||||
|
||||
/* On-Carrier Temperature Sensor */
|
||||
temperature-sensor@4f {
|
||||
compatible = "ti,tmp1075";
|
||||
reg = <0x4f>;
|
||||
};
|
||||
|
||||
/* On-Carrier EEPROM */
|
||||
eeprom@57 {
|
||||
compatible = "st,24c02", "atmel,24c02";
|
||||
reg = <0x57>;
|
||||
pagesize = <16>;
|
||||
};
|
||||
};
|
||||
|
||||
/* SMARC I2C_CAM1 */
|
||||
&i2c5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* SMARC I2C_PM */
|
||||
&i2c6 {
|
||||
clock-frequency = <100000>;
|
||||
status = "okay";
|
||||
|
||||
/* Fan controller */
|
||||
fan@18 {
|
||||
compatible = "ti,amc6821";
|
||||
reg = <0x18>;
|
||||
};
|
||||
|
||||
/* Current measurement into module VDD */
|
||||
hwmon@40 {
|
||||
compatible = "ti,ina226";
|
||||
reg = <0x40>;
|
||||
shunt-resistor = <5000>;
|
||||
};
|
||||
};
|
||||
|
||||
&lcdif3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* SMARC PCIE_A, M2 Key B */
|
||||
&pcie {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie_phy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* SMARC LCD1_BKLT_PWM */
|
||||
&pwm1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* SMARC LCD0_BKLT_PWM */
|
||||
&pwm2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* SMARC I2S0 */
|
||||
&sai1 {
|
||||
assigned-clocks = <&clk IMX8MP_CLK_SAI1>;
|
||||
assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
|
||||
assigned-clock-rates = <24576000>;
|
||||
fsl,sai-mclk-direction-output;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* SMARC HDMI Audio */
|
||||
&sound_hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* SMARC SER0, RS485. Optional M.2 KEY E */
|
||||
&uart1 {
|
||||
linux,rs485-enabled-at-boot-time;
|
||||
rs485-rts-active-low;
|
||||
rs485-rx-during-tx;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* SMARC SER2 */
|
||||
&uart2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* SMARC SER1, used as the Linux Console */
|
||||
&uart4 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* SMARC USB0 */
|
||||
&usb3_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* SMARC USB1..4 */
|
||||
&usb3_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb3_phy0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb3_phy1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* SMARC SDIO */
|
||||
&usdhc2 {
|
||||
status = "okay";
|
||||
};
|
||||
1284
arch/arm64/boot/dts/freescale/imx8mp-toradex-smarc.dtsi
Normal file
1284
arch/arm64/boot/dts/freescale/imx8mp-toradex-smarc.dtsi
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user