// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) /* * Copyright (c) 2024 TQ-Systems GmbH , * D-82229 Seefeld, Germany. * Author: Alexander Stein */ /dts-v1/; #include #include "imx95-tqma9596sa.dtsi" / { model = "TQ-Systems i.MX95 TQMa95xxSA on MB-SMARC-2"; compatible = "tq,imx95-tqma9596sa-mb-smarc-2", "tq,imx95-tqma9596sa", "fsl,imx95"; aliases { gpio0 = &gpio1; gpio1 = &gpio2; gpio2 = &gpio3; gpio3 = &gpio4; i2c0 = &lpi2c1; i2c1 = &lpi2c2; i2c2 = &lpi2c3; i2c3 = &lpi2c4; i2c4 = &lpi2c5; i2c5 = &lpi2c6; i2c6 = &lpi2c7; i2c7 = &lpi2c8; mmc0 = &usdhc1; mmc1 = &usdhc2; rtc0 = &pcf85063; rtc1 = &scmi_bbm; serial0 = &lpuart1; serial1 = &lpuart2; serial2 = &lpuart3; serial3 = &lpuart4; serial4 = &lpuart5; serial5 = &lpuart6; serial6 = &lpuart7; serial7 = &lpuart8; }; chosen { stdout-path = &lpuart7; }; backlight_lvds0: backlight-lvds0 { compatible = "pwm-backlight"; pwms = <&tpm3 0 100000 0>; brightness-levels = <0 4 8 16 32 64 128 255>; default-brightness-level = <7>; enable-gpios = <&expander2 1 GPIO_ACTIVE_HIGH>; power-supply = <®_12v0>; status = "disabled"; }; backlight_lvds1: backlight-lvds1 { compatible = "pwm-backlight"; pwms = <&tpm4 0 100000 0>; brightness-levels = <0 4 8 16 32 64 128 255>; default-brightness-level = <7>; enable-gpios = <&expander2 3 GPIO_ACTIVE_HIGH>; power-supply = <®_12v0>; status = "disabled"; }; panel_lvds0: panel-lvds0 { /* * Display is not fixed, so compatible has to be added from * DT overlay */ backlight = <&backlight_lvds0>; power-supply = <®_lvds0>; status = "disabled"; port { panel_in_lvds0: endpoint { /* TODO: LVDS0 out */ }; }; }; panel_lvds1: panel-lvds1 { /* * Display is not fixed, so compatible has to be added from * DT overlay */ backlight = <&backlight_lvds1>; power-supply = <®_lvds1>; status = "disabled"; port { panel_in_lvds1: endpoint { /* TODO: LVDS1 out */ }; }; }; reg_1v8: regulator-1v8 { compatible = "regulator-fixed"; regulator-name = "1V8"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; }; reg_3v3: regulator-3v3 { compatible = "regulator-fixed"; regulator-name = "3V3"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; reg_12v0: regulator-12v0 { compatible = "regulator-fixed"; regulator-name = "12V0"; regulator-min-microvolt = <12000000>; regulator-max-microvolt = <12000000>; regulator-always-on; }; reg_lvds0: regulator-lvds0 { compatible = "regulator-fixed"; regulator-name = "LCD0_VDD_EN"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; gpio = <&expander2 2 GPIO_ACTIVE_HIGH>; enable-active-high; }; reg_lvds1: regulator-lvds1 { compatible = "regulator-fixed"; regulator-name = "LCD1_VDD_EN"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; gpio = <&expander2 4 GPIO_ACTIVE_HIGH>; enable-active-high; }; sound { compatible = "fsl,imx-audio-tlv320aic32x4"; model = "tqm-tlv320aic32"; audio-codec = <&tlv320aic3x04>; audio-cpu = <&sai3>; }; }; &enetc_port0 { status = "okay"; }; &enetc_port1 { status = "okay"; }; &expander2 { pcie1-clk-en-hog { gpio-hog; gpios = <14 GPIO_ACTIVE_HIGH>; output-high; line-name = "PCIE1_CLK_EN"; }; pcie2-clk-en-hog { gpio-hog; gpios = <15 GPIO_ACTIVE_HIGH>; output-high; line-name = "PCIE2_CLK_EN"; }; }; &flexcan1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_flexcan1>; xceiver-supply = <®_3v3>; status = "okay"; }; &flexcan3 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_flexcan3>; xceiver-supply = <®_3v3>; status = "okay"; }; &lpi2c1 { tlv320aic3x04: audio-codec@18 { compatible = "ti,tlv320aic32x4"; reg = <0x18>; clocks = <&scmi_clk IMX95_CLK_SAI3>; clock-names = "mclk"; iov-supply = <®_1v8>; ldoin-supply = <®_3v3>; }; eeprom2: eeprom@57 { compatible = "atmel,24c32"; reg = <0x57>; pagesize = <32>; vcc-supply = <®_3v3>; }; }; &lpspi3 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_lpspi3>; cs-gpios = <&gpio2 8 GPIO_ACTIVE_LOW>, <&gpio2 7 GPIO_ACTIVE_LOW>; status = "okay"; }; /* SER0 */ &lpuart1 { status = "disabled"; }; /* SER3 */ &lpuart5 { status = "okay"; }; /* SER1 */ &lpuart7 { status = "okay"; }; /* SER2 */ &lpuart8 { status = "okay"; }; /* X44 mPCIe */ &pcie0 { pinctrl-0 = <&pinctrl_pcie0>; pinctrl-names = "default"; clocks = <&scmi_clk IMX95_CLK_HSIO>, <&pcieclk 1>, <&scmi_clk IMX95_CLK_HSIOPLL_VCO>, <&scmi_clk IMX95_CLK_HSIOPCIEAUX>; clock-names = "pcie", "pcie_bus", "pcie_phy", "pcie_aux"; reset-gpio = <&expander2 9 GPIO_ACTIVE_LOW>; status = "okay"; }; /* X22 PCIe x1 socket */ &pcie1 { pinctrl-0 = <&pinctrl_pcie1>; pinctrl-names = "default"; clocks = <&scmi_clk IMX95_CLK_HSIO>, <&pcieclk 0>, <&scmi_clk IMX95_CLK_HSIOPLL_VCO>, <&scmi_clk IMX95_CLK_HSIOPCIEAUX>; clock-names = "pcie", "pcie_bus", "pcie_phy", "pcie_aux"; reset-gpio = <&expander2 10 GPIO_ACTIVE_LOW>; status = "okay"; }; ®_sdvmmc { status = "okay"; }; &sai3 { #sound-dai-cells = <0>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_sai3>; assigned-clocks = <&scmi_clk IMX95_CLK_AUDIOPLL1_VCO>, <&scmi_clk IMX95_CLK_AUDIOPLL2_VCO>, <&scmi_clk IMX95_CLK_AUDIOPLL1>, <&scmi_clk IMX95_CLK_AUDIOPLL2>, <&scmi_clk IMX95_CLK_SAI3>; assigned-clock-parents = <0>, <0>, <0>, <0>, <&scmi_clk IMX95_CLK_AUDIOPLL1>; assigned-clock-rates = <3932160000>, <3612672000>, <393216000>, <361267200>, <12288000>; fsl,sai-mclk-direction-output; status = "okay"; }; &sai5 { #sound-dai-cells = <0>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_sai5>; assigned-clocks = <&scmi_clk IMX95_CLK_AUDIOPLL1_VCO>, <&scmi_clk IMX95_CLK_AUDIOPLL2_VCO>, <&scmi_clk IMX95_CLK_AUDIOPLL1>, <&scmi_clk IMX95_CLK_AUDIOPLL2>, <&scmi_clk IMX95_CLK_SAI5>; assigned-clock-parents = <0>, <0>, <0>, <0>, <&scmi_clk IMX95_CLK_AUDIOPLL1>; assigned-clock-rates = <3932160000>, <3612672000>, <393216000>, <361267200>, <12288000>; }; /* X4 */ &usb2 { srp-disable; hnp-disable; adp-disable; /* DR not yet supported */ dr_mode = "peripheral"; disable-over-current; status = "okay"; }; /* X16 */ &usdhc2 { pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep"; pinctrl-0 = <&pinctrl_usdhc2>; pinctrl-1 = <&pinctrl_usdhc2_100mhz>; pinctrl-2 = <&pinctrl_usdhc2_200mhz>; pinctrl-3 = <&pinctrl_usdhc2>; vmmc-supply = <®_sdvmmc>; cd-gpios = <&gpio3 0 GPIO_ACTIVE_LOW>; no-1-8-v; no-mmc; no-sdio; disable-wp; bus-width = <4>; status = "okay"; };