// SPDX-License-Identifier: GPL-2.0 OR X11
/*
 * Device Tree Include file for TQ Systems TQMa7x boards with full mounted PCB.
 *
 * Copyright (C) 2016 TQ Systems GmbH
 * Author: Markus Niebel <Markus.Niebel@tq-group.com>
 * Copyright (C) 2019 Bruno Thomsen <bruno.thomsen@gmail.com>
 */

/ {
	memory@80000000 {
		device_type = "memory";
		/* 512 MB - default configuration */
		reg = <0x80000000 0x20000000>;
	};
};

&cpu0 {
	arm-supply = <&sw1a_reg>;
};

&i2c1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c1>;
	clock-frequency = <100000>;
	status = "okay";

	pfuze3000: pmic@8 {
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_pmic1>;
		compatible = "fsl,pfuze3000";
		reg = <0x08>;

		regulators {
			sw1a_reg: sw1a {
				regulator-min-microvolt = <700000>;
				regulator-max-microvolt = <3300000>;
				regulator-boot-on;
				regulator-always-on;
				regulator-ramp-delay = <6250>;
			};

			/* use sw1c_reg to align with pfuze100/pfuze200 */
			sw1c_reg: sw1b {
				regulator-min-microvolt = <700000>;
				regulator-max-microvolt = <1475000>;
				regulator-boot-on;
				regulator-always-on;
				regulator-ramp-delay = <6250>;
			};

			sw2_reg: sw2 {
				regulator-min-microvolt = <1500000>;
				regulator-max-microvolt = <1850000>;
				regulator-boot-on;
				regulator-always-on;
			};

			sw3a_reg: sw3 {
				regulator-min-microvolt = <900000>;
				regulator-max-microvolt = <1650000>;
				regulator-boot-on;
				regulator-always-on;
			};

			swbst_reg: swbst {
				regulator-min-microvolt = <5000000>;
				regulator-max-microvolt = <5150000>;
			};

			snvs_reg: vsnvs {
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <3000000>;
				regulator-boot-on;
				regulator-always-on;
			};

			vref_reg: vrefddr {
				regulator-boot-on;
				regulator-always-on;
			};

			vgen1_reg: vldo1 {
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vgen2_reg: vldo2 {
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <1550000>;
				regulator-always-on;
			};

			vgen3_reg: vccsd {
				regulator-min-microvolt = <2850000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vgen4_reg: v33 {
				regulator-min-microvolt = <2850000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vgen5_reg: vldo3 {
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vgen6_reg: vldo4 {
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};
		};
	};

	/* NXP SE97BTP with temperature sensor + eeprom */
	se97b: temperature-sensor-eeprom@1e {
		compatible = "nxp,se97b", "jedec,jc-42.4-temp";
		reg = <0x1e>;
		status = "okay";
	};

	/* ST M24C64 */
	m24c64: eeprom@50 {
		compatible = "atmel,24c64";
		reg = <0x50>;
		pagesize = <32>;
		status = "okay";
	};

	at24c02: eeprom@56 {
		compatible = "atmel,24c02";
		reg = <0x56>;
		pagesize = <16>;
		status = "okay";
	};

	ds1339: rtc@68 {
		compatible = "dallas,ds1339";
		reg = <0x68>;
	};
};

&iomuxc {
	pinctrl_i2c1: i2c1grp {
		fsl,pins = <
			MX7D_PAD_I2C1_SDA__I2C1_SDA	0x40000078
			MX7D_PAD_I2C1_SCL__I2C1_SCL	0x40000078
		>;
	};

	pinctrl_pmic1: pmic1grp {
		fsl,pins = <
			MX7D_PAD_SD2_RESET_B__GPIO5_IO11	0x4000005C
		>;
	};

	pinctrl_usdhc3: usdhc3grp {
		fsl,pins = <
			MX7D_PAD_SD3_CMD__SD3_CMD		0x59
			MX7D_PAD_SD3_CLK__SD3_CLK		0x56
			MX7D_PAD_SD3_DATA0__SD3_DATA0		0x59
			MX7D_PAD_SD3_DATA1__SD3_DATA1		0x59
			MX7D_PAD_SD3_DATA2__SD3_DATA2		0x59
			MX7D_PAD_SD3_DATA3__SD3_DATA3		0x59
			MX7D_PAD_SD3_DATA4__SD3_DATA4		0x59
			MX7D_PAD_SD3_DATA5__SD3_DATA5		0x59
			MX7D_PAD_SD3_DATA6__SD3_DATA6		0x59
			MX7D_PAD_SD3_DATA7__SD3_DATA7		0x59
			MX7D_PAD_SD3_STROBE__SD3_STROBE		0x19
		>;
	};

	pinctrl_usdhc3_100mhz: usdhc3grp_100mhz {
		fsl,pins = <
			MX7D_PAD_SD3_CMD__SD3_CMD               0x5a
			MX7D_PAD_SD3_CLK__SD3_CLK               0x51
			MX7D_PAD_SD3_DATA0__SD3_DATA0           0x5a
			MX7D_PAD_SD3_DATA1__SD3_DATA1           0x5a
			MX7D_PAD_SD3_DATA2__SD3_DATA2           0x5a
			MX7D_PAD_SD3_DATA3__SD3_DATA3           0x5a
			MX7D_PAD_SD3_DATA4__SD3_DATA4           0x5a
			MX7D_PAD_SD3_DATA5__SD3_DATA5           0x5a
			MX7D_PAD_SD3_DATA6__SD3_DATA6           0x5a
			MX7D_PAD_SD3_DATA7__SD3_DATA7           0x5a
			MX7D_PAD_SD3_STROBE__SD3_STROBE         0x1a
		>;
	};

	pinctrl_usdhc3_200mhz: usdhc3grp_200mhz {
		fsl,pins = <
			MX7D_PAD_SD3_CMD__SD3_CMD               0x5b
			MX7D_PAD_SD3_CLK__SD3_CLK               0x51
			MX7D_PAD_SD3_DATA0__SD3_DATA0           0x5b
			MX7D_PAD_SD3_DATA1__SD3_DATA1           0x5b
			MX7D_PAD_SD3_DATA2__SD3_DATA2           0x5b
			MX7D_PAD_SD3_DATA3__SD3_DATA3           0x5b
			MX7D_PAD_SD3_DATA4__SD3_DATA4           0x5b
			MX7D_PAD_SD3_DATA5__SD3_DATA5           0x5b
			MX7D_PAD_SD3_DATA6__SD3_DATA6           0x5b
			MX7D_PAD_SD3_DATA7__SD3_DATA7           0x5b
			MX7D_PAD_SD3_STROBE__SD3_STROBE         0x1b
		>;
	};
};

&iomuxc_lpsr {
	pinctrl_wdog1: wdog1grp {
		fsl,pins = <
			MX7D_PAD_LPSR_GPIO1_IO00__WDOG1_WDOG_B	0x30
		>;
	};
};

&sdma {
	status = "okay";
};

&usdhc3 {
	pinctrl-names = "default", "state_100mhz", "state_200mhz";
	pinctrl-0 = <&pinctrl_usdhc3>;
	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
	assigned-clocks = <&clks IMX7D_USDHC3_ROOT_CLK>;
	assigned-clock-rates = <400000000>;
	bus-width = <8>;
	non-removable;
	vmmc-supply = <&vgen4_reg>;
	vqmmc-supply = <&sw2_reg>;
	status = "okay";
};

&wdog1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_wdog1>;
	/*
	 * Errata e10574:
	 * WDOG reset needs to run with WDOG_RESET_B signal enabled.
	 * X1-51 (WDOG1#) signal needs carrier board handling to reset
	 * TQMa7 on X1-22 (RESET_IN#).
	 */
	fsl,ext-reset-output;
	status = "okay";
};
