// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) /* * Copyright (c) 2019-2026 TQ-Systems GmbH , * D-82229 Seefeld, Germany. * Author: Alexander Stein */ #include #include #include #include "imx8qm.dtsi" / { model = "TQ-Systems i.MX8QM TQMa8QM"; compatible = "tq,imx8qm-tqma8qm", "fsl,imx8qm"; /* Due to missing workaround for ERR050104 */ cpus { /delete-node/ cpu-map; /delete-node/ cpu@100; /delete-node/ cpu@101; }; memory@80000000 { device_type = "memory"; /* * DRAM base addr, size : 1024 MiB DRAM * should be corrected by bootloader */ reg = <0x00000000 0x80000000 0 0x40000000>; }; reg_tqma8x_v3v3: regulator-tqma8x-v3v3 { compatible = "regulator-fixed"; regulator-name = "V_3V3"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; /* SW7 controlled by SCU */ reg_1v8_io1: regulator-v1v8-io1 { compatible = "regulator-fixed"; regulator-name = "V_1V8_IO1"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; }; /* LDO4 controlled by SCU */ reg_3v3_emmc: regulator-v3v3-emmc { compatible = "regulator-fixed"; regulator-name = "V_3V3_EMMC"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; }; &acm { status = "okay"; }; &adc0 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_adc0>; vref-supply = <®_vref_v1v8>; status = "okay"; }; /* TQMa8QM only uses industrial grade, reduce trip points accordingly */ &cpu_alert0 { temperature = <95000>; }; &cpu_crit0 { temperature = <100000>; }; &cpu_alert1 { temperature = <95000>; }; &cpu_crit1 { temperature = <100000>; }; &gpu_alert0 { temperature = <95000>; }; &gpu_crit0 { temperature = <100000>; }; &gpu_alert1 { temperature = <95000>; }; &gpu_crit1 { temperature = <100000>; }; &drc_alert0 { temperature = <95000>; }; &drc_crit0 { temperature = <100000>; }; /* end of temperature grade adjustments */ &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 = <4>; spi-rx-bus-width = <4>; vcc-supply = <®_1v8_io1>; partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; }; }; }; &i2c1 { clock-frequency = <400000>; pinctrl-names = "default", "gpio"; pinctrl-0 = <&pinctrl_lpi2c1>; pinctrl-1 = <&pinctrl_lpi2c1gpio>; scl-gpios = <&lsio_gpio0 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; sda-gpios = <&lsio_gpio0 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; status = "okay"; se97: temperature-sensor@1b { compatible = "nxp,se97b", "jedec,jc-42.4-temp"; reg = <0x1b>; }; pcf85063: rtc@51 { compatible = "nxp,pcf85063a"; reg = <0x51>; quartz-load-femtofarads = <7000>; }; at24c02: eeprom@53 { compatible = "nxp,se97b", "atmel,24c02"; reg = <0x53>; pagesize = <16>; read-only; vcc-supply = <®_tqma8x_v3v3>; }; m24c64: eeprom@57 { compatible = "atmel,24c64"; reg = <0x57>; pagesize = <32>; vcc-supply = <®_tqma8x_v3v3>; }; }; &mu_m0 { status = "okay"; }; &mu1_m0 { status = "okay"; }; &mu2_m0 { status = "okay"; }; &thermal_zones { /delete-node/ cpu1-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 = <&A53_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, <&A53_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, <&A53_2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, <&A53_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>; bus-width = <8>; vmmc-supply = <®_3v3_emmc>; vqmmc-supply = <®_1v8_io1>; no-sd; no-sdio; non-removable; status = "okay"; }; &vpu { compatible = "nxp,imx8qm-vpu"; status = "okay"; }; &vpu_core0 { memory-region = <&decoder_boot>, <&decoder_rpc>; status = "okay"; }; &vpu_core1 { memory-region = <&encoder1_boot>, <&encoder1_rpc>; status = "okay"; }; &vpu_core2 { memory-region = <&encoder2_boot>, <&encoder2_rpc>; status = "okay"; }; &iomuxc { pinctrl_lpi2c1: lpi2c1grp { fsl,pins = , ; }; pinctrl_lpi2c1gpio: lpi2c1gpiogrp { fsl,pins = , ; }; pinctrl_usdhc1: usdhc1grp { fsl,pins = , , , , , , , , , , , ; }; pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp { fsl,pins = , , , , , , , , , , , ; }; pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp { fsl,pins = , , , , , , , , , , , ; }; pinctrl_flexspi0: flexspi0grp { fsl,pins = , , , , , , , , , , , , , , , ; }; };