xref: /freebsd/sys/contrib/device-tree/src/arm64/freescale/tqma8xx.dtsi (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
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 = <&reg_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 = <&reg_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 = <&reg_1v8>;
16401950c46SEmmanuel Vadot	vmmc-supply = <&reg_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