// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) /* * Copyright (c) 2018-2025 TQ-Systems GmbH , * D-82229 Seefeld, Germany. * Author: Alexander Stein */ #include /delete-node/ &encoder_rpc; / { memory@80000000 { device_type = "memory"; /* * DRAM base addr, minimal size : 1024 MiB DRAM * should be corrected by bootloader */ reg = <0x00000000 0x80000000 0 0x40000000>; }; clk_xtal25: clk-xtal25 { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <25000000>; }; reg_tqma8xxs_3v3: regulator-3v3 { compatible = "regulator-fixed"; regulator-name = "3V3"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; reg_lvds0: regulator-lvds0 { compatible = "regulator-fixed"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_lvds0>; regulator-name = "LCD0_VDD_EN"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; gpio = <&lsio_gpio1 3 GPIO_ACTIVE_HIGH>; enable-active-high; }; reg_lvds1: regulator-lvds1 { compatible = "regulator-fixed"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_lvds1>; regulator-name = "LCD1_VDD_EN"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; gpio = <&lsio_gpio1 1 GPIO_ACTIVE_HIGH>; enable-active-high; }; reg_sdvmmc: regulator-sdvmmc { compatible = "regulator-fixed"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_sdvmmc>; regulator-name = "SD1_VMMC"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; gpio = <&lsio_gpio4 19 GPIO_ACTIVE_HIGH>; enable-active-high; status = "disabled"; }; reg_vmmc: regulator-vmmc { compatible = "regulator-fixed"; regulator-name = "MMC0_3V3"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; reg_vqmmc: regulator-vqmmc { compatible = "regulator-fixed"; regulator-name = "MMC0_1V8"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; }; reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; /* * global autoconfigured region for contiguous allocations * must not exceed memory size and region */ linux,cma { compatible = "shared-dma-pool"; reusable; size = <0 0x20000000>; alloc-ranges = <0 0x96000000 0 0x30000000>; linux,cma-default; }; decoder_boot: decoder-boot@84000000 { reg = <0 0x84000000 0 0x2000000>; no-map; }; encoder_boot: encoder-boot@86000000 { reg = <0 0x86000000 0 0x200000>; no-map; }; m4_reserved: m4@88000000 { no-map; reg = <0 0x88000000 0 0x8000000>; status = "disabled"; }; vdev0vring0: vdev0vring0@90000000 { compatible = "shared-dma-pool"; reg = <0 0x90000000 0 0x8000>; no-map; status = "disabled"; }; vdev0vring1: vdev0vring1@90008000 { compatible = "shared-dma-pool"; reg = <0 0x90008000 0 0x8000>; no-map; status = "disabled"; }; vdev1vring0: vdev1vring0@90010000 { compatible = "shared-dma-pool"; reg = <0 0x90010000 0 0x8000>; no-map; status = "disabled"; }; vdev1vring1: vdev1vring1@90018000 { compatible = "shared-dma-pool"; reg = <0 0x90018000 0 0x8000>; no-map; status = "disabled"; }; rsc_table: rsc-table@900ff000 { reg = <0 0x900ff000 0 0x1000>; no-map; status = "disabled"; }; vdevbuffer: vdevbuffer@90400000 { compatible = "shared-dma-pool"; reg = <0 0x90400000 0 0x100000>; no-map; status = "disabled"; }; decoder_rpc: decoder-rpc@92000000 { reg = <0 0x92000000 0 0x100000>; no-map; }; encoder_rpc: encoder-rpc@92100000 { reg = <0 0x92100000 0 0x700000>; no-map; }; }; }; /* TQMa8XxS only uses industrial grade, reduce trip points accordingly */ &cpu_alert0 { temperature = <95000>; }; &cpu_crit0 { temperature = <100000>; }; /* end of temperature grade adjustments */ &fec1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_fec1>; phy-mode = "rgmii-id"; phy-handle = <ðphy0>; fsl,magic-packet; mac-address = [ 00 00 00 00 00 00 ]; mdio { #address-cells = <1>; #size-cells = <0>; ethphy0: ethernet-phy@0 { compatible = "ethernet-phy-ieee802.3-c22"; reg = <0>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_ethphy0>; ti,rx-internal-delay = ; ti,tx-internal-delay = ; ti,fifo-depth = ; ti,dp83867-rxctrl-strap-quirk; ti,clk-output-sel = ; reset-gpios = <&lsio_gpio3 22 GPIO_ACTIVE_LOW>; reset-assert-us = <500000>; reset-deassert-us = <50000>; enet-phy-lane-no-swap; interrupt-parent = <&lsio_gpio1>; interrupts = <30 IRQ_TYPE_LEVEL_LOW>; }; ethphy3: ethernet-phy@3 { compatible = "ethernet-phy-ieee802.3-c22"; reg = <3>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_ethphy1>; ti,rx-internal-delay = ; ti,tx-internal-delay = ; ti,fifo-depth = ; ti,dp83867-rxctrl-strap-quirk; ti,clk-output-sel = ; reset-gpios = <&lsio_gpio0 24 GPIO_ACTIVE_LOW>; reset-assert-us = <500000>; reset-deassert-us = <50000>; enet-phy-lane-no-swap; interrupt-parent = <&lsio_gpio1>; interrupts = <14 IRQ_TYPE_LEVEL_LOW>; }; }; }; &fec2 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_fec2>; phy-mode = "rgmii-id"; phy-handle = <ðphy3>; fsl,magic-packet; mac-address = [ 00 00 00 00 00 00 ]; }; &flexcan2 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_can1>; }; &flexcan3 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_can2>; }; &flexspi0 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_flexspi0>; status = "okay"; flash0: flash@0 { compatible = "jedec,spi-nor"; reg = <0>; spi-max-frequency = <66000000>; spi-tx-bus-width = <1>; spi-rx-bus-width = <4>; partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; }; }; }; &lsio_gpio0 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_smarc_fangpio>, <&pinctrl_smarc_mngtpio>; gpio-line-names = "", "", "", "", "", "", "", "", "", "", "", "", "LID", "SLEEP", "CHARGING#", "CHGPRSNT#", "BATLOW#", "", "", "", "", "SMARC_GPIO6", "SMARC_GPIO5", "", "PHY3 RST#", "", "", "SPI0_CS0", "", "SPI0_CS1", "", ""; }; &lsio_gpio1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_smarc_gpio>; gpio-line-names = "LCD1_BLKT_EN", "LCD1_VDD_EN", "LCD0_BLKT_EN", "LCD0_VDD_EN", "SMARC_GPIO0", "SMARC_GPIO1", "SMARC_GPIO2", "", "SMARC_GPIO3", "SMARC_GPIO8", "SMARC_GPIO7", "SMARC_GPIO10", "SMARC_GPIO9", "SMARC_GPIO4", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""; }; &lsio_gpio2 { gpio-line-names = "RTC_INT#", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""; }; &lsio_gpio3 { gpio-line-names = "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "PHY0_RST#", "", "", "", "", "", "", "", "", ""; }; &lsio_gpio4 { gpio-line-names = "PCIE_PERST#", "", "PCIE_WAKE#", "USB_OTG1_PWR", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "SDIO_PWR_EN", "", "SDIO_WP", "SDIO_CD#", "", "", "", "", "", "", "", "", ""; }; &i2c0 { clock-frequency = <100000>; pinctrl-names = "default", "gpio"; pinctrl-0 = <&pinctrl_lpi2c0>; pinctrl-1 = <&pinctrl_lpi2c0_gpio>; scl-gpios = <&lsio_gpio3 8 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; sda-gpios = <&lsio_gpio3 7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; status = "okay"; /* NXP SE97BTP with temperature sensor + eeprom */ sensor0: temperature-sensor@1b { compatible = "nxp,se97b", "jedec,jc-42.4-temp"; reg = <0x1b>; }; eeprom0: eeprom@50 { compatible = "atmel,24c64"; reg = <0x50>; pagesize = <32>; vcc-supply = <®_tqma8xxs_3v3>; }; rtc1: rtc@51 { compatible = "nxp,pcf85063a"; reg = <0x51>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_rtc>; quartz-load-femtofarads = <7000>; interrupt-parent = <&lsio_gpio2>; interrupts = <0 IRQ_TYPE_LEVEL_LOW>; }; eeprom1: eeprom@53 { compatible = "nxp,se97b", "atmel,24c02"; reg = <0x53>; pagesize = <16>; read-only; vcc-supply = <®_tqma8xxs_3v3>; }; pcieclk: clock-generator@6a { compatible = "renesas,9fgv0241"; reg = <0x6a>; clocks = <&clk_xtal25>; #clock-cells = <1>; }; }; &lpspi1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_spi1>; cs-gpios = <&lsio_gpio0 27 GPIO_ACTIVE_LOW>, <&lsio_gpio0 29 GPIO_ACTIVE_LOW>; }; &lpuart0 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_lpuart0>; }; &lpuart3 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_lpuart3>; }; &mu_m0 { status = "okay"; }; &mu1_m0 { status = "okay"; }; &sai1 { assigned-clocks = <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_PLL>, <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_SLV_BUS>, <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_MST_BUS>, <&sai1_lpcg 0>; assigned-clock-rates = <786432000>, <49152000>, <12288000>, <49152000>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_sai1>; status = "okay"; }; &thermal_zones { pmic0_thermal: pmic0-thermal { polling-delay-passive = <250>; polling-delay = <2000>; thermal-sensors = <&tsens IMX_SC_R_PMIC_0>; trips { pmic_alert0: trip0 { temperature = <110000>; hysteresis = <2000>; type = "passive"; }; pmic_crit0: trip1 { temperature = <125000>; hysteresis = <2000>; type = "critical"; }; }; cooling-maps { map0 { trip = <&pmic_alert0>; cooling-device = <&A35_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, <&A35_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, <&A35_2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, <&A35_3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; }; }; }; }; &usdhc1 { pinctrl-names = "default", "state_100mhz", "state_200mhz"; pinctrl-0 = <&pinctrl_usdhc1>; pinctrl-1 = <&pinctrl_usdhc1_100mhz>; pinctrl-2 = <&pinctrl_usdhc1_200mhz>; vmmc-supply = <®_vmmc>; vqmmc-supply = <®_vqmmc>; bus-width = <8>; non-removable; no-sd; no-sdio; status = "okay"; }; &usdhc2 { pinctrl-names = "default", "state_100mhz", "state_200mhz"; pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>; pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>; bus-width = <4>; /* NOTE: CD / WP and VMMC support depends on mainboard */ }; &vpu { compatible = "nxp,imx8qxp-vpu"; status = "okay"; }; &vpu_core0 { memory-region = <&decoder_boot>, <&decoder_rpc>; status = "okay"; }; &vpu_core1 { memory-region = <&encoder_boot>, <&encoder_rpc>; status = "okay"; }; &iomuxc { pinctrl_backlight_lvds0: backlight-lvds0grp { fsl,pins = ; }; pinctrl_backlight_lvds1: backlight-lvds1grp { fsl,pins = ; }; pinctrl_can1: can1grp { fsl,pins = , ; }; pinctrl_can2: can2grp { fsl,pins = , ; }; pinctrl_ethphy0: ethphy0grp { fsl,pins = , ; }; pinctrl_ethphy1: ethphy1grp { fsl,pins = , ; }; pinctrl_fec1: fec1grp { fsl,pins = , , , , , , , , , , , , , ; }; pinctrl_fec2: fec2grp { fsl,pins = , , , , , , , , , , , ; }; pinctrl_flexspi0: flexspi0grp { fsl,pins = , , , , , , , , , , , , , ; }; pinctrl_smarc_gpio: smarcgpiogrp { fsl,pins = /* SMARC_GPIO0 / CAM0_PWR# */ , /* SMARC_GPIO1 / CAM1_PWR# */ , /* SMARC_GPIO2 / CAM0_RST# */ , /* SMARC_GPIO3 / CAM1_RST# */ , /* SMARC_GPIO4 / HDA_RST# */ , /* SMARC_GPIO7 */ , /* SMARC_GPIO8 */ , /* SMARC_GPIO9 */ , /* SMARC_GPIO10 */ ; }; pinctrl_smarc_fangpio: smarcfangpiogrp { fsl,pins = /* SMARC_GPIO5 */ , /* SMARC_GPIO6 */ ; }; pinctrl_smarc_mngtpio: smarcmngtgpiogrp { fsl,pins = /* SMARC BATLOW# */ , /* SMARC SLEEP */ , /* SMARC CHGPRSNT# */ , /* SMARC CHARGING# */ , /* SMARC LID */ ; }; pinctrl_lvds0: lbdpanel0grp { fsl,pins = /* LCD PWR */ ; }; pinctrl_lvds1: lbdpanel1grp { fsl,pins = /* LCD PWR */ ; }; pinctrl_lpi2c0: lpi2c0grp { fsl,pins = , ; }; pinctrl_lpi2c0_gpio: lpi2c0gpiogrp { fsl,pins = , ; }; pinctrl_lpuart0: lpuart0grp { fsl,pins = , , , ; }; pinctrl_lpuart3: lpuart3grp { fsl,pins = , ; }; pinctrl_i2c0_mipi_lvds0: mipi-lvds0-i2c0grp { fsl,pins = , ; }; pinctrl_i2c0_gpio_mipi_lvds0: mipi-lvds0-i2c0-gpiogrp { fsl,pins = , ; }; pinctrl_pcieb: pcieagrp { fsl,pins = , , ; }; pinctrl_pwm_mipi_lvds0: mipi-lvds0-pwmgrp { fsl,pins = ; }; pinctrl_pwm_mipi_lvds1: mipi-lvds1-pwmgrp { fsl,pins = ; }; pinctrl_rtc: rtcgrp { fsl,pins = ; }; pinctrl_usdhc1: usdhc1grp { fsl,pins = , , , , , , , , , , ; }; pinctrl_usdhc1_100mhz: usdhc1100mhzgrp { fsl,pins = , , , , , , , , , , ; }; pinctrl_usdhc1_200mhz: usdhc1200mhzgrp { fsl,pins = , , , , , , , , , , ; }; pinctrl_sdvmmc: sdvmmcgrp { fsl,pins = ; }; pinctrl_spi1: spi1grp { fsl,pins = /* PD + PDRV Low + INOUT - MEK has 0x0600004c */ , , , , ; }; pinctrl_sai1: sai1grp { fsl,pins = , , , , ; }; pinctrl_usbotg1: usbotg1grp { fsl,pins = , ; }; pinctrl_usdhc2_gpio: usdhc2gpiogrp { fsl,pins = , ; }; pinctrl_usdhc2: usdhc2grp { fsl,pins = , , , , , , ; }; pinctrl_usdhc2_100mhz: usdhc2100mhzgrp { fsl,pins = , , , , , , ; }; pinctrl_usdhc2_200mhz: usdhc2200mhzgrp { fsl,pins = , , , , , , ; }; };