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

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

/dts-v1/;
/plugin/;

&{/} {
	compatible = "xlnx,zynqmp-sc-vpk180-revA", "xlnx,zynqmp-vpk180-revA",
		     "xlnx,zynqmp-vpk180", "xlnx,zynqmp";
};

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

	tca6416_u233: gpio@20 { /* u233 */
		compatible = "ti,tca6416";
		reg = <0x20>;
		gpio-controller; /* interrupt not connected */
		#gpio-cells = <2>;
		gpio-line-names = "QSFPDD1_MODSELL", "QSFPDD2_MODSELL", "QSFPDD3_MODSELL", "QSFPDD4_MODSELL", /* 0 - 3 */
				"PMBUS2_INA226_ALERT", "QSFPDD5_MODSELL", "QSFPDD6_MODSELL", "", /* 4 - 7 */
				"FMCP1_FMC_PRSNT_M2C_B", "", "FMCP1_FMCP_PRSNT_M2C_B", "UTIL_3V3_VRHOT_B", /* 10 - 13 */
				"VCCINT_VRHOT_B", "8A34001_EXP_RST_B", "PMBUS_ALERT", "PMBUS1_INA226_ALERT"; /* 14 - 17 */
	};

	i2c-mux@74 { /* u33 */
		compatible = "nxp,pca9548";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x74>;
		/* reset-gpios = <&gpio SYSCTLR_IIC_MUX0_RESET_B GPIO_ACTIVE_HIGH>; */
		pmbus_i2c: i2c@0 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0>;
			/* On connector J325 */
			ir38060_41: regulator@41 { /* IR38060 - u259 */
				compatible = "infineon,ir38060", "infineon,ir38064";
				reg = <0x41>; /* i2c addr 0x11 */
			};
			ir35221_45: pmic@45 { /* IR35221 - u291 */
				compatible = "infineon,ir35221";
				reg = <0x45>; /* i2c addr - 0x15 */
			};
			ir35221_46: pmic@46 { /* IR35221 - u152 */
				compatible = "infineon,ir35221";
				reg = <0x46>; /* i2c addr - 0x16 */
			};
			irps5401_47: pmic5401@47 { /* IRPS5401 - u160 */
				compatible = "infineon,irps5401";
				reg = <0x47>; /* i2c addr 0x17 */
			};
			irps5401_48: pmic@48 { /* IRPS5401 - u295 */
				compatible = "infineon,irps5401";
				reg = <0x48>; /* i2c addr 0x18 */
			};
			ir38164_49: regulator@49 { /* IR38164 - u189 */
				compatible = "infineon,ir38164";
				reg = <0x49>; /* i2c addr 0x19 */
			};
			irps5401_4c: pmic@4c { /* IRPS5401 - u167 */
				compatible = "infineon,irps5401";
				reg = <0x4c>; /* i2c addr 0x1c */
			};
			irps5401_4d: pmic@4d { /* IRPS5401 - u175 */
				compatible = "infineon,irps5401";
				reg = <0x4d>; /* i2c addr 0x1d */
			};
			ir38164_4e: regulator@4e { /* IR38164 - u185 */
				compatible = "infineon,ir38164";
				reg = <0x4e>; /* i2c addr 0x1e */
			};
			ir38164_4f: regulator@4f { /* IR38164 - u187 */
				compatible = "infineon,ir38164";
				reg = <0x4f>; /* i2c addr 0x1f */
			};
		};
		pmbus1_ina226_i2c: i2c@1 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <1>;
			/* FIXME check alerts coming to SC */
			vccint: ina226@40 { /* u65 */
				compatible = "ti,ina226";
				reg = <0x40>;
				shunt-resistor = <5000>; /* r440 */
			};
			vcc_soc: ina226@41 { /* u161 */
				compatible = "ti,ina226";
				reg = <0x41>;
				shunt-resistor = <5000>; /* r2174 */
			};
			vcc_pmc: ina226@42 { /* u163 */
				compatible = "ti,ina226";
				reg = <0x42>;
				shunt-resistor = <5000>; /* r1214 */
			};
			vcc_ram: ina226@43 { /* u5 */
				compatible = "ti,ina226";
				reg = <0x43>;
				shunt-resistor = <5000>; /* r2108 */
			};
			vcc_pslp: ina226@44 { /* u165 */
				compatible = "ti,ina226";
				reg = <0x44>;
				shunt-resistor = <5000>; /* r1830 */
			};
			vcc_psfp: ina226@45 { /* u164 */
				compatible = "ti,ina226";
				reg = <0x45>;
				shunt-resistor = <5000>; /* r2086 */
			};
		};
		i2c@2 { /* NC */ /* FIXME maybe remove */
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <2>;
		};
		pmbus2_ina226_i2c: i2c@3 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <3>;
			/* FIXME check alerts coming to SC */
			vccaux: ina226@40 { /* u166 */
				compatible = "ti,ina226";
				reg = <0x40>;
				shunt-resistor = <2000>; /* r2109 */
			};
			vccaux_pmc: ina226@41 { /* u168 */
				compatible = "ti,ina226";
				reg = <0x41>;
				shunt-resistor = <5000>; /* r1246 */
			};
			mgtavcc: ina226@42 { /* u265 */
				compatible = "ti,ina226";
				reg = <0x42>;
				shunt-resistor = <5000>; /* r1829 */
			};
			vcc1v5: ina226@43 { /* u264 */
				compatible = "ti,ina226";
				reg = <0x43>;
				shunt-resistor = <5000>; /* r1221 */
			};
			vcco_mio: ina226@45 { /* u172 */
				compatible = "ti,ina226";
				reg = <0x45>;
				shunt-resistor = <5000>; /* r1219 */
			};
			mgtavtt: ina226@46 { /* u188 */
				compatible = "ti,ina226";
				reg = <0x46>;
				shunt-resistor = <2000>; /* r1384 */
			};
			vcco_502: ina226@47 { /* u174 */
				compatible = "ti,ina226";
				reg = <0x47>;
				shunt-resistor = <5000>; /* r1825 */
			};
			mgtvccaux: ina226@48 { /* u176 */
				compatible = "ti,ina226";
				reg = <0x48>;
				shunt-resistor = <5000>; /* r1232 */
			};
			vcc1v1_lp4: ina226@49 { /* u186 */
				compatible = "ti,ina226";
				reg = <0x49>;
				shunt-resistor = <2000>; /* r1367 */
			};
			vadj_fmc: ina226@4a { /* u184 */
				compatible = "ti,ina226";
				reg = <0x4a>;
				shunt-resistor = <2000>; /* r1350 */
			};
			lpdmgtyavcc: ina226@4b { /* u177 */
				compatible = "ti,ina226";
				reg = <0x4b>;
				shunt-resistor = <5000>; /* r2097 */
			};
			lpdmgtyavtt: ina226@4c { /* u260 */
				compatible = "ti,ina226";
				reg = <0x4c>;
				shunt-resistor = <2000>; /* r1834 */
			};
			lpdmgtyvccaux: ina226@4d { /* u234 */
				compatible = "ti,ina226";
				reg = <0x4d>;
				shunt-resistor = <5000>; /* r1679 */
			};
		};
		/* 4 - 7 unused */
	};
};

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

	i2c-mux@74 { /* u35 */
		compatible = "nxp,pca9548";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x74>;
		i2c-mux-idle-disconnect;
		/* reset-gpios = <&PL_GPIO SYSCTLR_IIC_MUX1_RESET_B GPIO_ACTIVE_HIGH>; */
		ref_clk_i2c: i2c@0 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0>;
			ref_clk: clock-generator@5d { /* u32 */
				#clock-cells = <0>;
				compatible = "silabs,si570";
				reg = <0x5d>;
				temperature-stability = <50>;
				factory-fout = <33333333>;
				clock-frequency = <33333333>;
				clock-output-names = "ref_clk";
				silabs,skip-recall;
			};
		};
		fmcp1_i2c: i2c@1 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <1>;
			/* connection to Samtec J51C */
			/* expected eeprom 0x50 SE cards */
		};
		osfp_i2c: i2c@2 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <2>;
			/* J362 connector */
		};
		lpddr4_si570_clk3_i2c: i2c@3 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <3>;
			lpddr4_clk3: clock-generator@60 { /* u4 */
				#clock-cells = <0>;
				compatible = "silabs,si570";
				reg = <0x60>;
				temperature-stability = <50>;
				factory-fout = <200000000>;
				clock-frequency = <200000000>;
				clock-output-names = "lpddr4_clk3";
				silabs,skip-recall;
			};
			/* alternative option DNP - u305 at 0x50 */
		};
		lpddr4_si570_clk2_i2c: i2c@4 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <4>;
			lpddr4_clk2: clock-generator@60 { /* u3 */
				#clock-cells = <0>;
				compatible = "silabs,si570";
				reg = <0x60>;
				temperature-stability = <50>;
				factory-fout = <200000000>;
				clock-frequency = <200000000>;
				clock-output-names = "lpddr4_clk2";
				silabs,skip-recall;
			};
			/* alternative option DNP - u303 at 0x50 */
		};
		lpddr4_si570_clk1_i2c: i2c@5 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <5>;
			lpddr4_clk1: clock-generator@60 { /* u248 */
				#clock-cells = <0>;
				compatible = "silabs,si570";
				reg = <0x60>;
				temperature-stability = <50>;
				factory-fout = <200000000>;
				clock-frequency = <200000000>;
				clock-output-names = "lpddr4_clk1";
				silabs,skip-recall;
			};
			/* alternative option DNP - u301 at 0x50 */
		};
		qsfpdd_i2c: i2c@6 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <6>;
			/* J1/J2/J355/J354/J359/J358 connectors */
		};
		idt8a34001_i2c: i2c@7 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <7>;
			/* Via J310 connector */
			idt_8a34001: phc@5b { /* u219B */
				compatible = "idt,8a34001";
				reg = <0x5b>;
			};
		};
	};
	i2c-mux@75 { /* u322 */
		compatible = "nxp,pca9548";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x75>;
		i2c-mux-idle-disconnect;
		/* reset-gpios = <&PL_GPIO SYSCTLR_IIC_MUX1_RESET_B GPIO_ACTIVE_HIGH>; */
		sfpdd1_i2c: i2c@0 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0>;
			/* J350 sfp-dd at 0x50 */
		};
		sfpdd2_i2c: i2c@1 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <1>;
			/* J352 sfp-dd at 0x50 */
		};
		sfpdd3_i2c: i2c@2 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <2>;
			/* J385 sfp-dd at 0x50 */
		};
		sfpdd4_i2c: i2c@3 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <3>;
			/* J387 sfp-dd at 0x50 */
		};
		rc21008a_gtclk1_i2c: i2c@4 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <4>;
			vc7_1: clock-generator@9 {
				compatible = "renesas,rc21008a";
				clock-output-names = "rc21008a-0";
				reg = <0x9>;
				#clock-cells = <1>;
				clocks = <&vc7_xin>;
				clock-names = "xin";
			};
			/* u298 - rc21008a at 0x9 */
			/* connector J370 */
		};
		rc21008a_gtclk2_i2c: i2c@5 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <5>;
			vc7_2: clock-generator@9 {
				compatible = "renesas,rc21008a";
				clock-output-names = "rc21008a-1";
				reg = <0x9>;
				#clock-cells = <1>;
				clocks = <&vc7_xin>;
				clock-names = "xin";
			};
			/* u299 - rc21008a at 0x9 */
			/* connector J371 */
		};
	};
};
