101950c46SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0-or-later OR X11) 201950c46SEmmanuel Vadot/* 301950c46SEmmanuel Vadot * Copyright 2018-2023 TQ-Systems GmbH <linux@ew.tq-group.com>, 401950c46SEmmanuel Vadot * D-82229 Seefeld, Germany. 501950c46SEmmanuel Vadot * Author: Alexander Stein 601950c46SEmmanuel Vadot */ 701950c46SEmmanuel Vadot 801950c46SEmmanuel Vadot/ { 901950c46SEmmanuel Vadot memory@80000000 { 1001950c46SEmmanuel Vadot device_type = "memory"; 1101950c46SEmmanuel Vadot reg = <0x00000000 0x80000000 0 0x40000000>; 1201950c46SEmmanuel Vadot }; 1301950c46SEmmanuel Vadot 1401950c46SEmmanuel Vadot reg_1v8: regulator-1v8 { 1501950c46SEmmanuel Vadot compatible = "regulator-fixed"; 1601950c46SEmmanuel Vadot regulator-name = "V_1V8"; 1701950c46SEmmanuel Vadot regulator-min-microvolt = <1800000>; 1801950c46SEmmanuel Vadot regulator-max-microvolt = <1800000>; 1901950c46SEmmanuel Vadot }; 2001950c46SEmmanuel Vadot 2101950c46SEmmanuel Vadot reg_3v3: regulator-3v3 { 2201950c46SEmmanuel Vadot compatible = "regulator-fixed"; 2301950c46SEmmanuel Vadot regulator-name = "V_3V3"; 2401950c46SEmmanuel Vadot regulator-min-microvolt = <3300000>; 2501950c46SEmmanuel Vadot regulator-max-microvolt = <3300000>; 2601950c46SEmmanuel Vadot }; 2701950c46SEmmanuel Vadot 2801950c46SEmmanuel Vadot reserved-memory { 2901950c46SEmmanuel Vadot #address-cells = <2>; 3001950c46SEmmanuel Vadot #size-cells = <2>; 3101950c46SEmmanuel Vadot ranges; 3201950c46SEmmanuel Vadot 3301950c46SEmmanuel Vadot /* 3401950c46SEmmanuel Vadot * global autoconfigured region for contiguous allocations 3501950c46SEmmanuel Vadot * must not exceed memory size and region 3601950c46SEmmanuel Vadot */ 3701950c46SEmmanuel Vadot linux,cma { 3801950c46SEmmanuel Vadot compatible = "shared-dma-pool"; 3901950c46SEmmanuel Vadot reusable; 4001950c46SEmmanuel Vadot size = <0 0x20000000>; 4101950c46SEmmanuel Vadot alloc-ranges = <0 0x96000000 0 0x30000000>; 4201950c46SEmmanuel Vadot linux,cma-default; 4301950c46SEmmanuel Vadot }; 4401950c46SEmmanuel Vadot }; 4501950c46SEmmanuel Vadot}; 4601950c46SEmmanuel Vadot 4701950c46SEmmanuel Vadot/* TQMa8Xx only uses industrial grade, reduce trip points accordingly */ 4801950c46SEmmanuel Vadot&cpu_alert0 { 4901950c46SEmmanuel Vadot temperature = <95000>; 5001950c46SEmmanuel Vadot}; 5101950c46SEmmanuel Vadot 5201950c46SEmmanuel Vadot&cpu_crit0 { 5301950c46SEmmanuel Vadot temperature = <100000>; 5401950c46SEmmanuel Vadot}; 5501950c46SEmmanuel Vadot/* end of temperature grade adjustments */ 5601950c46SEmmanuel Vadot 5701950c46SEmmanuel Vadot&flexspi0 { 5801950c46SEmmanuel Vadot pinctrl-names = "default"; 5901950c46SEmmanuel Vadot pinctrl-0 = <&pinctrl_flexspi0>; 6001950c46SEmmanuel Vadot status = "okay"; 6101950c46SEmmanuel Vadot 6201950c46SEmmanuel Vadot flash0: flash@0 { 6301950c46SEmmanuel Vadot reg = <0>; 6401950c46SEmmanuel Vadot compatible = "jedec,spi-nor"; 6501950c46SEmmanuel Vadot spi-max-frequency = <66000000>; 6601950c46SEmmanuel Vadot spi-tx-bus-width = <1>; 6701950c46SEmmanuel Vadot spi-rx-bus-width = <4>; 68*0e8011faSEmmanuel Vadot 69*0e8011faSEmmanuel Vadot partitions { 70*0e8011faSEmmanuel Vadot compatible = "fixed-partitions"; 71*0e8011faSEmmanuel Vadot #address-cells = <1>; 72*0e8011faSEmmanuel Vadot #size-cells = <1>; 73*0e8011faSEmmanuel Vadot }; 7401950c46SEmmanuel Vadot }; 7501950c46SEmmanuel Vadot}; 7601950c46SEmmanuel Vadot 7701950c46SEmmanuel Vadot/* TODO GPU */ 7801950c46SEmmanuel Vadot 7901950c46SEmmanuel Vadot&i2c1 { 8001950c46SEmmanuel Vadot #address-cells = <1>; 8101950c46SEmmanuel Vadot #size-cells = <0>; 8201950c46SEmmanuel Vadot clock-frequency = <100000>; 8301950c46SEmmanuel Vadot pinctrl-names = "default", "gpio"; 8401950c46SEmmanuel Vadot pinctrl-0 = <&pinctrl_lpi2c1>; 8501950c46SEmmanuel Vadot pinctrl-1 = <&pinctrl_lpi2c1gpio>; 8601950c46SEmmanuel Vadot scl-gpios = <&lsio_gpio1 27 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 8701950c46SEmmanuel Vadot sda-gpios = <&lsio_gpio1 28 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 8801950c46SEmmanuel Vadot status = "okay"; 8901950c46SEmmanuel Vadot 9001950c46SEmmanuel Vadot se97: temperature-sensor@1b { 9101950c46SEmmanuel Vadot compatible = "nxp,se97b", "jedec,jc-42.4-temp"; 9201950c46SEmmanuel Vadot reg = <0x1b>; 9301950c46SEmmanuel Vadot }; 9401950c46SEmmanuel Vadot 9501950c46SEmmanuel Vadot pcf85063: rtc@51 { 9601950c46SEmmanuel Vadot compatible = "nxp,pcf85063a"; 9701950c46SEmmanuel Vadot reg = <0x51>; 9801950c46SEmmanuel Vadot quartz-load-femtofarads = <7000>; 9901950c46SEmmanuel Vadot }; 10001950c46SEmmanuel Vadot 10101950c46SEmmanuel Vadot at24c02: eeprom@53 { 10201950c46SEmmanuel Vadot compatible = "nxp,se97b", "atmel,24c02"; 10301950c46SEmmanuel Vadot reg = <0x53>; 10401950c46SEmmanuel Vadot pagesize = <16>; 10501950c46SEmmanuel Vadot read-only; 10601950c46SEmmanuel Vadot vcc-supply = <®_3v3>; 10701950c46SEmmanuel Vadot }; 10801950c46SEmmanuel Vadot 10901950c46SEmmanuel Vadot m24c64: eeprom@57 { 11001950c46SEmmanuel Vadot compatible = "atmel,24c64"; 11101950c46SEmmanuel Vadot reg = <0x57>; 11201950c46SEmmanuel Vadot pagesize = <32>; 11301950c46SEmmanuel Vadot vcc-supply = <®_3v3>; 11401950c46SEmmanuel Vadot }; 11501950c46SEmmanuel Vadot}; 11601950c46SEmmanuel Vadot 11701950c46SEmmanuel Vadot&mu_m0 { 11801950c46SEmmanuel Vadot status = "okay"; 11901950c46SEmmanuel Vadot}; 12001950c46SEmmanuel Vadot 12101950c46SEmmanuel Vadot&mu1_m0 { 12201950c46SEmmanuel Vadot status = "okay"; 12301950c46SEmmanuel Vadot}; 12401950c46SEmmanuel Vadot 12501950c46SEmmanuel Vadot&thermal_zones { 12601950c46SEmmanuel Vadot pmic_thermal: pmic-thermal { 12701950c46SEmmanuel Vadot polling-delay-passive = <250>; 12801950c46SEmmanuel Vadot polling-delay = <2000>; 12901950c46SEmmanuel Vadot thermal-sensors = <&tsens IMX_SC_R_PMIC_0>; 13001950c46SEmmanuel Vadot 13101950c46SEmmanuel Vadot trips { 13201950c46SEmmanuel Vadot pmic_alert0: trip0 { 13301950c46SEmmanuel Vadot temperature = <110000>; 13401950c46SEmmanuel Vadot hysteresis = <2000>; 13501950c46SEmmanuel Vadot type = "passive"; 13601950c46SEmmanuel Vadot }; 13701950c46SEmmanuel Vadot 13801950c46SEmmanuel Vadot pmic_crit0: trip1 { 13901950c46SEmmanuel Vadot temperature = <125000>; 14001950c46SEmmanuel Vadot hysteresis = <2000>; 14101950c46SEmmanuel Vadot type = "critical"; 14201950c46SEmmanuel Vadot }; 14301950c46SEmmanuel Vadot }; 14401950c46SEmmanuel Vadot 14501950c46SEmmanuel Vadot cooling-maps { 14601950c46SEmmanuel Vadot map0 { 14701950c46SEmmanuel Vadot trip = <&pmic_alert0>; 14801950c46SEmmanuel Vadot cooling-device = 14901950c46SEmmanuel Vadot <&A35_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 15001950c46SEmmanuel Vadot <&A35_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 15101950c46SEmmanuel Vadot <&A35_2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 15201950c46SEmmanuel Vadot <&A35_3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 15301950c46SEmmanuel Vadot }; 15401950c46SEmmanuel Vadot }; 15501950c46SEmmanuel Vadot }; 15601950c46SEmmanuel Vadot}; 15701950c46SEmmanuel Vadot 15801950c46SEmmanuel Vadot&usdhc1 { 15901950c46SEmmanuel Vadot pinctrl-names = "default", "state_100mhz", "state_200mhz"; 16001950c46SEmmanuel Vadot pinctrl-0 = <&pinctrl_usdhc1>; 16101950c46SEmmanuel Vadot pinctrl-1 = <&pinctrl_usdhc1_100mhz>; 16201950c46SEmmanuel Vadot pinctrl-2 = <&pinctrl_usdhc1_200mhz>; 16301950c46SEmmanuel Vadot vqmmc-supply = <®_1v8>; 16401950c46SEmmanuel Vadot vmmc-supply = <®_3v3>; 16501950c46SEmmanuel Vadot bus-width = <8>; 16601950c46SEmmanuel Vadot non-removable; 16701950c46SEmmanuel Vadot no-sdio; 16801950c46SEmmanuel Vadot no-sd; 16901950c46SEmmanuel Vadot status = "okay"; 17001950c46SEmmanuel Vadot}; 17101950c46SEmmanuel Vadot 17201950c46SEmmanuel Vadot&vpu { 17301950c46SEmmanuel Vadot compatible = "nxp,imx8qxp-vpu"; 17401950c46SEmmanuel Vadot status = "okay"; 17501950c46SEmmanuel Vadot}; 17601950c46SEmmanuel Vadot 17701950c46SEmmanuel Vadot&vpu_core0 { 17801950c46SEmmanuel Vadot memory-region = <&decoder_boot>, <&decoder_rpc>; 17901950c46SEmmanuel Vadot status = "okay"; 18001950c46SEmmanuel Vadot}; 18101950c46SEmmanuel Vadot 18201950c46SEmmanuel Vadot&vpu_core1 { 18301950c46SEmmanuel Vadot memory-region = <&encoder_boot>, <&encoder_rpc>; 18401950c46SEmmanuel Vadot status = "okay"; 18501950c46SEmmanuel Vadot}; 18601950c46SEmmanuel Vadot 18701950c46SEmmanuel Vadot&iomuxc { 18801950c46SEmmanuel Vadot pinctrl_flexspi0: flexspi0grp { 18901950c46SEmmanuel Vadot fsl,pins = < 19001950c46SEmmanuel Vadot IMX8QXP_QSPI0A_DATA0_LSIO_QSPI0A_DATA0 0x0600004d 19101950c46SEmmanuel Vadot IMX8QXP_QSPI0A_DATA1_LSIO_QSPI0A_DATA1 0x0600004d 19201950c46SEmmanuel Vadot IMX8QXP_QSPI0A_DATA2_LSIO_QSPI0A_DATA2 0x0600004d 19301950c46SEmmanuel Vadot IMX8QXP_QSPI0A_DATA3_LSIO_QSPI0A_DATA3 0x0600004d 19401950c46SEmmanuel Vadot IMX8QXP_QSPI0A_DQS_LSIO_QSPI0A_DQS 0x0600004d 19501950c46SEmmanuel Vadot IMX8QXP_QSPI0A_SS0_B_LSIO_QSPI0A_SS0_B 0x0600004d 19601950c46SEmmanuel Vadot IMX8QXP_QSPI0A_SCLK_LSIO_QSPI0A_SCLK 0x0600004d 19701950c46SEmmanuel Vadot IMX8QXP_QSPI0B_SCLK_LSIO_QSPI0B_SCLK 0x0600004d 19801950c46SEmmanuel Vadot IMX8QXP_QSPI0B_DATA0_LSIO_QSPI0B_DATA0 0x0600004d 19901950c46SEmmanuel Vadot IMX8QXP_QSPI0B_DATA1_LSIO_QSPI0B_DATA1 0x0600004d 20001950c46SEmmanuel Vadot IMX8QXP_QSPI0B_DATA2_LSIO_QSPI0B_DATA2 0x0600004d 20101950c46SEmmanuel Vadot IMX8QXP_QSPI0B_DATA3_LSIO_QSPI0B_DATA3 0x0600004d 20201950c46SEmmanuel Vadot IMX8QXP_QSPI0B_DQS_LSIO_QSPI0B_DQS 0x0600004d 20301950c46SEmmanuel Vadot IMX8QXP_QSPI0B_SS0_B_LSIO_QSPI0B_SS0_B 0x0600004d 20401950c46SEmmanuel Vadot IMX8QXP_QSPI0B_SS1_B_LSIO_QSPI0B_SS1_B 0x0600004d 20501950c46SEmmanuel Vadot >; 20601950c46SEmmanuel Vadot }; 20701950c46SEmmanuel Vadot 20801950c46SEmmanuel Vadot pinctrl_lpi2c1: lpi2c1grp { 20901950c46SEmmanuel Vadot fsl,pins = < 21001950c46SEmmanuel Vadot IMX8QXP_MIPI_DSI0_GPIO0_00_ADMA_I2C1_SCL 0x06000021 21101950c46SEmmanuel Vadot IMX8QXP_MIPI_DSI0_GPIO0_01_ADMA_I2C1_SDA 0x06000021 21201950c46SEmmanuel Vadot >; 21301950c46SEmmanuel Vadot }; 21401950c46SEmmanuel Vadot 21501950c46SEmmanuel Vadot pinctrl_lpi2c1gpio: lpi2c1gpiogrp { 21601950c46SEmmanuel Vadot fsl,pins = < 21701950c46SEmmanuel Vadot IMX8QXP_MIPI_DSI0_GPIO0_00_LSIO_GPIO1_IO27 0x06000021 21801950c46SEmmanuel Vadot IMX8QXP_MIPI_DSI0_GPIO0_01_LSIO_GPIO1_IO28 0x06000021 21901950c46SEmmanuel Vadot >; 22001950c46SEmmanuel Vadot }; 22101950c46SEmmanuel Vadot 22201950c46SEmmanuel Vadot pinctrl_usdhc1: usdhc1grp { 22301950c46SEmmanuel Vadot fsl,pins = < 22401950c46SEmmanuel Vadot IMX8QXP_EMMC0_CLK_CONN_EMMC0_CLK 0x06000041 22501950c46SEmmanuel Vadot IMX8QXP_EMMC0_CMD_CONN_EMMC0_CMD 0x00000021 22601950c46SEmmanuel Vadot IMX8QXP_EMMC0_DATA0_CONN_EMMC0_DATA0 0x00000021 22701950c46SEmmanuel Vadot IMX8QXP_EMMC0_DATA1_CONN_EMMC0_DATA1 0x00000021 22801950c46SEmmanuel Vadot IMX8QXP_EMMC0_DATA2_CONN_EMMC0_DATA2 0x00000021 22901950c46SEmmanuel Vadot IMX8QXP_EMMC0_DATA3_CONN_EMMC0_DATA3 0x00000021 23001950c46SEmmanuel Vadot IMX8QXP_EMMC0_DATA4_CONN_EMMC0_DATA4 0x00000021 23101950c46SEmmanuel Vadot IMX8QXP_EMMC0_DATA5_CONN_EMMC0_DATA5 0x00000021 23201950c46SEmmanuel Vadot IMX8QXP_EMMC0_DATA6_CONN_EMMC0_DATA6 0x00000021 23301950c46SEmmanuel Vadot IMX8QXP_EMMC0_DATA7_CONN_EMMC0_DATA7 0x00000021 23401950c46SEmmanuel Vadot IMX8QXP_EMMC0_STROBE_CONN_EMMC0_STROBE 0x00000041 23501950c46SEmmanuel Vadot >; 23601950c46SEmmanuel Vadot }; 23701950c46SEmmanuel Vadot 23801950c46SEmmanuel Vadot pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp { 23901950c46SEmmanuel Vadot fsl,pins = < 24001950c46SEmmanuel Vadot IMX8QXP_EMMC0_CLK_CONN_EMMC0_CLK 0x06000040 24101950c46SEmmanuel Vadot IMX8QXP_EMMC0_CMD_CONN_EMMC0_CMD 0x00000020 24201950c46SEmmanuel Vadot IMX8QXP_EMMC0_DATA0_CONN_EMMC0_DATA0 0x00000020 24301950c46SEmmanuel Vadot IMX8QXP_EMMC0_DATA1_CONN_EMMC0_DATA1 0x00000020 24401950c46SEmmanuel Vadot IMX8QXP_EMMC0_DATA2_CONN_EMMC0_DATA2 0x00000020 24501950c46SEmmanuel Vadot IMX8QXP_EMMC0_DATA3_CONN_EMMC0_DATA3 0x00000020 24601950c46SEmmanuel Vadot IMX8QXP_EMMC0_DATA4_CONN_EMMC0_DATA4 0x00000020 24701950c46SEmmanuel Vadot IMX8QXP_EMMC0_DATA5_CONN_EMMC0_DATA5 0x00000020 24801950c46SEmmanuel Vadot IMX8QXP_EMMC0_DATA6_CONN_EMMC0_DATA6 0x00000020 24901950c46SEmmanuel Vadot IMX8QXP_EMMC0_DATA7_CONN_EMMC0_DATA7 0x00000020 25001950c46SEmmanuel Vadot IMX8QXP_EMMC0_STROBE_CONN_EMMC0_STROBE 0x00000040 25101950c46SEmmanuel Vadot >; 25201950c46SEmmanuel Vadot }; 25301950c46SEmmanuel Vadot 25401950c46SEmmanuel Vadot pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp { 25501950c46SEmmanuel Vadot fsl,pins = < 25601950c46SEmmanuel Vadot IMX8QXP_EMMC0_CLK_CONN_EMMC0_CLK 0x06000040 25701950c46SEmmanuel Vadot IMX8QXP_EMMC0_CMD_CONN_EMMC0_CMD 0x00000020 25801950c46SEmmanuel Vadot IMX8QXP_EMMC0_DATA0_CONN_EMMC0_DATA0 0x00000020 25901950c46SEmmanuel Vadot IMX8QXP_EMMC0_DATA1_CONN_EMMC0_DATA1 0x00000020 26001950c46SEmmanuel Vadot IMX8QXP_EMMC0_DATA2_CONN_EMMC0_DATA2 0x00000020 26101950c46SEmmanuel Vadot IMX8QXP_EMMC0_DATA3_CONN_EMMC0_DATA3 0x00000020 26201950c46SEmmanuel Vadot IMX8QXP_EMMC0_DATA4_CONN_EMMC0_DATA4 0x00000020 26301950c46SEmmanuel Vadot IMX8QXP_EMMC0_DATA5_CONN_EMMC0_DATA5 0x00000020 26401950c46SEmmanuel Vadot IMX8QXP_EMMC0_DATA6_CONN_EMMC0_DATA6 0x00000020 26501950c46SEmmanuel Vadot IMX8QXP_EMMC0_DATA7_CONN_EMMC0_DATA7 0x00000020 26601950c46SEmmanuel Vadot IMX8QXP_EMMC0_STROBE_CONN_EMMC0_STROBE 0x00000040 26701950c46SEmmanuel Vadot >; 26801950c46SEmmanuel Vadot }; 26901950c46SEmmanuel Vadot}; 270