// SPDX-License-Identifier: GPL-2.0
/*
 * dts file for Xilinx ZynqMP VN-P-B2197-00 (Tenzing2)
 *
 * Copyright (C) 2022 - 2023, Advanced Micro Devices, Inc.
 *
 * Michal Simek <michal.simek@amd.com>
 */

#include <dt-bindings/gpio/gpio.h>

/dts-v1/;
/plugin/;

&{/} {
	#address-cells = <2>;
	#size-cells = <2>;

	compatible = "xlnx,zynqmp-sc-vn-p-b2197-revA",
		     "xlnx,zynqmp-sc-vn-p-b2197", "xlnx,zynqmp";

	aliases {
		nvmem1 = &x_prc_eeprom;
	};

	ina226-u1700 {
		compatible = "iio-hwmon";
		io-channels = <&vcc_ram_ina 0>, <&vcc_ram_ina 1>, <&vcc_ram_ina 2>;
	};
	ina226-u1732 {
		compatible = "iio-hwmon";
		io-channels = <&vcc_lpd_ina 0>, <&vcc_lpd_ina 1>, <&vcc_lpd_ina 2>;
	};
	ina226-u1733 {
		compatible = "iio-hwmon";
		io-channels = <&vccaux_ina 0>, <&vccaux_ina 1>, <&vccaux_ina 2>;
	};
	ina226-u1736 {
		compatible = "iio-hwmon";
		io-channels = <&vccaux_lpd_ina 0>, <&vccaux_lpd_ina 1>, <&vccaux_lpd_ina 2>;
	};
	ina226-u1737 {
		compatible = "iio-hwmon";
		io-channels = <&vcco_500_ina 0>, <&vcco_500_ina 1>, <&vcco_500_ina 2>;
	};
	ina226-u1739 {
		compatible = "iio-hwmon";
		io-channels = <&vcco_501_ina 0>, <&vcco_501_ina 1>, <&vcco_501_ina 2>;
	};
	ina226-u1741 {
		compatible = "iio-hwmon";
		io-channels = <&vcco_502_ina 0>, <&vcco_502_ina 1>, <&vcco_502_ina 2>;
	};
	ina226-u1743 {
		compatible = "iio-hwmon";
		io-channels = <&vcco_503_ina 0>, <&vcco_503_ina 1>, <&vcco_503_ina 2>;
	};
	ina226-u1745 {
		compatible = "iio-hwmon";
		io-channels = <&vcco_700_ina 0>, <&vcco_700_ina 1>, <&vcco_700_ina 2>;
	};
	ina226-u1747 {
		compatible = "iio-hwmon";
		io-channels = <&vcco_706_ina 0>, <&vcco_706_ina 1>, <&vcco_706_ina 2>;
	};
	ina226-u1750 {
		compatible = "iio-hwmon";
		io-channels = <&gtyp_avcc_ina 0>, <&gtyp_avcc_ina 1>, <&gtyp_avcc_ina 2>;
	};
	ina226-u1752 {
		compatible = "iio-hwmon";
		io-channels = <&gtyp_avtt_ina 0>, <&gtyp_avtt_ina 1>, <&gtyp_avtt_ina 2>;
	};
	ina226-u1754 {
		compatible = "iio-hwmon";
		io-channels = <&gtyp_avccaux_ina 0>, <&gtyp_avccaux_ina 1>, <&gtyp_avccaux_ina 2>;
	};
	ina226-u1756 {
		compatible = "iio-hwmon";
		io-channels = <&gtm_avcc_ina 0>, <&gtm_avcc_ina 1>, <&gtm_avcc_ina 2>;
	};
	ina226-u1758 {
		compatible = "iio-hwmon";
		io-channels = <&gtm_avtt_ina 0>, <&gtm_avtt_ina 1>, <&gtm_avtt_ina 2>;
	};
	ina226-u1760 {
		compatible = "iio-hwmon";
		io-channels = <&gtm_avccaux_ina 0>, <&gtm_avccaux_ina 1>, <&gtm_avccaux_ina 2>;
	};

	/* sc_vpk180_axi_iic_0_0: i2c@80050000 - UNUSED NOW */ /* SI5332 */

	/* Connect to J212G pin G29/G30 - sysmon connector */
	/* sc_vpk180_axi_iic_1_0: i2c@80060000 */ /* SYSMON */

	/* FIXME Fan control via u1702 - max6643 and mux via J1703 - not SW controllable - via EMIO */
};

&i2c1 {
	#address-cells = <1>;
	#size-cells = <0>;

	/* u97 eeprom at 0x54 described in sc-revB - WP protection via BOARD_EEPROM_WP - J1801 */
	/* DC/SE eeprom at 0x52 */
	x_prc_eeprom: eeprom@52 { /* u4 - DC card identification - possible WP */
		compatible = "atmel,24c02";
		reg = <0x52>;
		bootph-all;
	};

	x_prc_tca9534: gpio@22 { /* u5 */
		compatible = "nxp,pca9534";
		reg = <0x22>;
		gpio-controller; /* IRQ not connected */
		#gpio-cells = <2>;
		gpio-line-names = "xprc_sw_1", "xprc_sw_2", "xprc_sw_3", "xprc_sw_4",
					"", "", "", "";
		gtr-sel0 {
			gpio-hog;
			gpios = <0 0>;
			input; /* FIXME add meaning */
			line-name = "xprc_sw_1";
		};
		gtr-sel1 {
			gpio-hog;
			gpios = <1 0>;
			input; /* FIXME add meaning */
			line-name = "xprc_sw_1";
		};
		gtr-sel2 {
			gpio-hog;
			gpios = <2 0>;
			input; /* FIXME add meaning */
			line-name = "xprc_sw_1";
		};
		gtr-sel3 {
			gpio-hog;
			gpios = <3 0>;
			input; /* FIXME add meaning */
			line-name = "xprc_sw_1";
		};
	};

	/* FMC eeproms at 0x50/0x51 */
	/* via j3/j5 to 0x68 to u32/9FGV1006C

	/* i2c_main_1 - u147 - j157 - disable translation, add 8 */
	/* J1 - OE for u43@55 + 8 - 161,132813MHz - QSFP56G_0 */
	qsfp56g_0_clk: clock-controller@5d {
		compatible = "renesas,proxo-xp";
		reg = <0x5d>;
		#clock-cells = <0>;
		clock-output-names = "qsfp56g_0_clk";
	};

	/* J2 - OE for u41@57 + 8 - 322,265625MHz - QSFP56G_1 */
	qsfp56g_1_clk: clock-controller@5f {
		compatible = "renesas,proxo-xp";
		reg = <0x5f>;
		#clock-cells = <0>;
		clock-output-names = "qsfp56g_1_clk";
	};

	/* J81 - OE for u115@50 + 8 - 320MHz - LPDDR5_C0 */
	lpddr5_c0_clk: clock-controller@58 {
		compatible = "renesas,proxo-xp";
		reg = <0x58>;
		#clock-cells = <0>;
		clock-output-names = "lpddr5_c0_clk";
	};

	/* i2c_main_2 - u148 - j122 - disable translation, add 9 */
	/* J112 - OE for u63@50 + 9 - 320MHz - LPDDR5_C2 */
	lpddr5_c2_clk: clock-controller@59 {
		compatible = "renesas,proxo-xp";
		reg = <0x59>;
		#clock-cells = <0>;
		clock-output-names = "lpddr5_c2_clk";
	};

	/* i2c_main_3 - u149 - j154 - disable translation, add 6 */
	/* J78 - OE for u116@50 + 6  - 320MHz - DDR5_UDIMM */
	ddr5_udimm_clk: clock-controller@56 {
		compatible = "renesas,proxo-xp";
		reg = <0x56>;
		#clock-cells = <0>;
		clock-output-names = "ddr5_udimm_clk";
	};

	/* i2c_main_4 - u150 - j146 - disable translation, add 5 */
	/* J107 - OE for u39@50 + 5 - 33,3333MHz - PS_REFCLK */
	ps_refclk: clock-controller@55 {
		compatible = "renesas,proxo-xp";
		reg = <0x55>;
		#clock-cells = <0>;
		clock-output-names = "ps_refclk";
	};

	/* i2c_main_5 - u1782 - j1798 - disable translation, add 7 */
	/* J77 - OE for u1783@50 + 7 - 320MHz - DDR4 */
	ddr4_clk: clock-controller@57 {
		compatible = "renesas,proxo-xp";
		reg = <0x57>;
		#clock-cells = <0>;
		clock-output-names = "ddr4_clk";
	};

	/* LTC4316 - not wired XORH/XORL - FIXME */
	/* J3 gate - FIXME should be connected for SW handling */
	/* i2c_main_1 bus */
	i2c1_u32: clock-controller@68 {
		compatible = "renesas,9fgv1006";
		reg = <0x68>;
	};

	/* J71 - selection to LP_I2C_SCL_J or LP_I2C_PMC_SCL_J */
	/* J70 - selection to LP_I2C_SDA_J or LP_I2C_PMC_SDA_J */
	/* this should be SW controlable too */
};

&i2c0 {
	#address-cells = <1>;
	#size-cells = <0>;

	/* Via j11/j12 can also go to u17/IML3112 -  1:2 multiplexer - also accessed from Versal NET */
	/* Connection DDR5_UDIMM - SPD can be from 0x50-0x57 */
	/* FIXME gpio should handle SYSCTLR_PMBUS_ALERT and also INA226_PMBUS_ALERT */

	/* ina226_pmbus - J55 - disable INA226_PMBUS */
	vcc_ram_ina: power-monitor@40 { /* u1700 */
		compatible = "ti,ina226";
		#io-channel-cells = <1>;
		reg = <0x40>;
		shunt-resistor = <1000>; /* R1996 */
	};

	vcc_lpd_ina: power-monitor@41 { /* u1732 */
		compatible = "ti,ina226";
		#io-channel-cells = <1>;
		reg = <0x41>;
		shunt-resistor = <1000>; /* R2017 */
	};

	vccaux_ina: power-monitor@42 { /* u1733 */
		compatible = "ti,ina226";
		#io-channel-cells = <1>;
		reg = <0x42>;
		shunt-resistor = <1000>; /* R2037 */
	};

	vccaux_lpd_ina: power-monitor@43 { /* u1736 */
		compatible = "ti,ina226";
		#io-channel-cells = <1>;
		reg = <0x43>;
		shunt-resistor = <1000>; /* R2057 */
	};

	vcco_500_ina: power-monitor@44 { /* u1737 */
		compatible = "ti,ina226";
		#io-channel-cells = <1>;
		reg = <0x44>;
		shunt-resistor = <1000>; /* R2069 */
	};

	vcco_501_ina: power-monitor@45 { /* u1739 */
		compatible = "ti,ina226";
		#io-channel-cells = <1>;
		reg = <0x45>;
		shunt-resistor = <1000>; /* R2089 */
	};

	vcco_502_ina: power-monitor@46 { /* u1741 */
		compatible = "ti,ina226";
		#io-channel-cells = <1>;
		reg = <0x46>;
		shunt-resistor = <1000>; /* R2108 */
	};

	vcco_503_ina: power-monitor@47 { /* u1743 */
		compatible = "ti,ina226";
		#io-channel-cells = <1>;
		reg = <0x47>;
		shunt-resistor = <1000>; /* R2127 */
	};

	vcco_700_ina: power-monitor@48 { /* u1745 */
		compatible = "ti,ina226";
		#io-channel-cells = <1>;
		reg = <0x48>;
		shunt-resistor = <1000>; /* R2154 */
	};

	vcco_706_ina: power-monitor@49 { /* u1747 */
		compatible = "ti,ina226";
		#io-channel-cells = <1>;
		reg = <0x49>;
		shunt-resistor = <1000>; /* R2175 */
	};

	gtyp_avcc_ina: power-monitor@4a { /* u1750 */
		compatible = "ti,ina226";
		#io-channel-cells = <1>;
		reg = <0x4a>;
		shunt-resistor = <1000>; /* R2195 */
	};

	gtyp_avtt_ina: power-monitor@4b { /* u1752 */
		compatible = "ti,ina226";
		#io-channel-cells = <1>;
		reg = <0x4b>;
		shunt-resistor = <1000>; /* R2215 */
	};

	gtyp_avccaux_ina: power-monitor@4c { /* u1754 */
		compatible = "ti,ina226";
		#io-channel-cells = <1>;
		reg = <0x4c>;
		shunt-resistor = <5000>; /* R2235 */
	};

	gtm_avcc_ina: power-monitor@4d { /* u1756 */
		compatible = "ti,ina226";
		#io-channel-cells = <1>;
		reg = <0x4d>;
		shunt-resistor = <1000>; /* R2256 */
	};

	gtm_avtt_ina: power-monitor@4e { /* u1758 */
		compatible = "ti,ina226";
		#io-channel-cells = <1>;
		reg = <0x4e>;
		shunt-resistor = <1000>; /* R2276 */
	};

	gtm_avccaux_ina: power-monitor@4f { /* u1760 */
		compatible = "ti,ina226";
		#io-channel-cells = <1>;
		reg = <0x4f>;
		shunt-resistor = <5000>; /* R2296 */
	};

	/* pmbus - J50 - disable main PMBUS - also going to j132 */
	vcc_ram: regulator@a { /* u1730 */
		compatible = "ti,tps544b25";
		reg = <0xa>;
	};

	vcc_lpd: regulator@b { /* u1731 */
		compatible = "ti,tps544b25";
		reg = <0xb>;
	};

	vccaux: regulator@1a { /* u1734 */
		compatible = "ti,tps544b25";
		reg = <0x1a>;
	};

	vcco_503: regulator@12 { /* u1744 */
		compatible = "ti,tps546b24a";
		reg = <0x12>;
	};

	vcco_700: regulator@16 { /* u1746 */
		compatible = "ti,tps544b25";
		reg = <0x16>;
	};

	vcco_706: regulator@17 { /* u1748 */
		compatible = "ti,tps544b25";
		reg = <0x17>;
	};

	gtm_avcc: regulator@23 { /* u1755 */
		compatible = "ti,tps544b25";
		reg = <0x23>;
	};

	gtm_avtt: regulator@24 { /* u1757 */
		compatible = "ti,tps544b25";
		reg = <0x24>;
	};

	gtm_avccaux: regulator@25 { /* u1759 */
		compatible = "ti,tps544b25";
		reg = <0x25>;
	};

	util_1v8: regulator@15 { /* u1765 */
		compatible = "ti,tps544b25";
		reg = <0x15>;
	};

	ucd90320: power-sequencer@73 { /* u1768 */
		compatible = "ti,ucd90320";
		reg = <0x73>;
	};

	/* EXT_PMBUS main - J10 - disable extended PMBUS */
	vccint: tps53681@60 { /* u1712 - J1770 reset jumper */
		compatible = "ti,tps53681", "ti,tps53679";
		reg = <0x60>;
		/* vccint, vcc_cpm5n */
	};

	vcc_io_soc: tps53681@61 { /* u1721 - J1772 reset jumper */
		compatible = "ti,tps53681", "ti,tps53679";
		reg = <0x61>;
		/* vcc_io_soc, vcc_fpd */
	};

	vccaux_lpd: regulator@d { /* u1735 */
		compatible = "ti,tps544b25";
		reg = <0xd>;
	};

	vcco_500: regulator@13 { /* u1738 */
		compatible = "ti,tps546b24a";
		reg = <0x13>;
	};

	vcco_501: regulator@10 { /* u1740 */
		compatible = "ti,tps546b24a";
		reg = <0x10>;
	};

	vcco_502: regulator@11 { /* u1742 */
		compatible = "ti,tps546b24a";
		reg = <0x11>;
	};

	gtyp_avcc: regulator@20 { /* u1749 */
		compatible = "ti,tps544b25";
		reg = <0x20>;
	};

	gtyp_avtt: regulator@21 { /* u1751 */
		compatible = "ti,tps544b25";
		reg = <0x21>;
	};

	gtyp_avccaux: regulator@22 { /* u1753 */
		compatible = "ti,tps544b25";
		reg = <0x22>;
	};

	lp5_vdd1_1v8: regulator@e { /* u1761 - FIXME no ina226 */
		compatible = "ti,tps544b25";
		reg = <0xe>;
	};

	lp5_vdd2_1v05: regulator@f { /* u1762 - FIXME no ina226 */
		compatible = "ti,tps544b25";
		reg = <0xf>;
	};

	lp5_vddq_0v5: regulator@14 { /* u1763 - FIXME no ina226 */
		compatible = "ti,tps546b24a";
		reg = <0x14>;
	};
};
