// SPDX-License-Identifier: GPL-2.0
// Copyright (c) 2020 Fii USA Inc.

/dts-v1/;
#include "nuvoton-npcm730.dtsi"

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

/ {
	model = "Fii Kudo Board";
	compatible = "fii,kudo", "nuvoton,npcm730";

	aliases {
		ethernet1 = &gmac0;
		serial0 = &serial0;
		serial1 = &serial1;
		serial2 = &serial2;
		serial3 = &serial3;
		i2c1 = &i2c1;
		i2c2 = &i2c2;
		i2c3 = &i2c3;
		i2c4 = &i2c4;
		i2c5 = &i2c5;
		i2c6 = &i2c6;
		i2c7 = &i2c7;
		i2c8 = &i2c8;
		i2c9 = &i2c9;
		i2c10 = &i2c10;
		i2c11 = &i2c11;
		i2c12 = &i2c12;
		i2c13 = &i2c13;
		i2c14 = &i2c14;
		i2c15 = &i2c15;
		spi0 = &spi0;
		spi1 = &spi1;
		fiu0 = &fiu0;
		fiu1 = &fiu3;
	};

	chosen {
		stdout-path = &serial3;
	};

	memory {
		reg = <0 0x40000000>;
	};

	iio-hwmon {
		compatible = "iio-hwmon";
		io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
			<&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>;
	};

	jtag_master {
		compatible = "nuvoton,npcm750-jtag-master";
		#address-cells = <1>;
		#size-cells = <1>;

		// dev/jtag0
		dev-num = <0>;
		// pspi or gpio
		mode = "pspi";

		// pspi2
		pspi-controller = <2>;
		reg = <0xf0201000 0x1000>;
		interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&clk NPCM7XX_CLK_APB5>;

		// TCK, TDI, TDO, TMS
		jtag-gpios = <&gpio0 19 GPIO_ACTIVE_HIGH>,
				<&gpio0 18 GPIO_ACTIVE_HIGH>,
				<&gpio0 17 GPIO_ACTIVE_HIGH>,
				<&gpio0 16 GPIO_ACTIVE_HIGH>;
	};

	leds {
		compatible = "gpio-leds";
		heartbeat {
			label = "heartbeat";
			gpios = <&gpio0 14 1>;
		};
	};

	pinctrl: pinctrl@f0800000 {
		gpio61oh_pins: gpio61oh-pins {
			pins = "GPO61/nDTR1_BOUT1/STRAP6";
			bias-disable;
			output-high;
		};
		gpio62oh_pins: gpio62oh-pins {
			pins = "GPO62/nRTST1/STRAP5";
			bias-disable;
			output-high;
		};
		gpio161ol_pins: gpio161ol-pins {
			pins = "GPIO161/nLFRAME/nESPICS";
			bias-disable;
			output-low;
		};
		gpio163i_pins: gpio163i-pins {
			pins = "GPIO163/LCLK/ESPICLK";
			bias-disable;
			input-enable;
		};
		gpio167ol_pins: gpio167ol-pins {
			pins = "GPIO167/LAD3/ESPI_IO3";
			bias-disable;
			output-low;
		};
		gpio95i_pins: gpio95i-pins {
			pins = "GPIO95/nLRESET/nESPIRST";
			bias-disable;
			input-enable;
		};
		gpio65ol_pins: gpio65ol-pins {
			pins = "GPIO65/FANIN1";
			bias-disable;
			output-low;
		};
		gpio66oh_pins: gpio66oh-pins {
			pins = "GPIO66/FANIN2";
			bias-disable;
			output-high;
		};
		gpio67oh_pins: gpio67oh-pins {
			pins = "GPIO67/FANIN3";
			bias-disable;
			output-high;
		};
		gpio68ol_pins: gpio68ol-pins {
			pins = "GPIO68/FANIN4";
			bias-disable;
			output-low;
		};
		gpio69i_pins: gpio69i-pins {
			pins = "GPIO69/FANIN5";
			bias-disable;
			input-enable;
		};
		gpio70ol_pins: gpio70ol-pins {
			pins = "GPIO70/FANIN6";
			bias-disable;
			output-low;
		};
		gpio71i_pins: gpio71i-pins {
			pins = "GPIO71/FANIN7";
			bias-disable;
			input-enable;
		};
		gpio72i_pins: gpio72i-pins {
			pins = "GPIO72/FANIN8";
			bias-disable;
			input-enable;
		};
		gpio73i_pins: gpio73i-pins {
			pins = "GPIO73/FANIN9";
			bias-disable;
			input-enable;
		};
		gpio74i_pins: gpio74i-pins {
			pins = "GPIO74/FANIN10";
			bias-disable;
			input-enable;
		};
		gpio75i_pins: gpio75i-pins {
			pins = "GPIO75/FANIN11";
			bias-disable;
			input-enable;
		};
		gpio76i_pins: gpio76i-pins {
			pins = "GPIO76/FANIN12";
			bias-disable;
			input-enable;
		};
		gpio77i_pins: gpio77i-pins {
			pins = "GPIO77/FANIN13";
			bias-disable;
			input-enable;
		};
		gpio78i_pins: gpio78i-pins {
			pins = "GPIO78/FANIN14";
			bias-disable;
			input-enable;
		};
		gpio79ol_pins: gpio79ol-pins {
			pins = "GPIO79/FANIN15";
			bias-disable;
			output-low;
		};
		gpio80oh_pins: gpio80oh-pins {
			pins = "GPIO80/PWM0";
			bias-disable;
			output-high;
		};
		gpio81i_pins: gpio81i-pins {
			pins = "GPIO81/PWM1";
			bias-disable;
			input-enable;
		};
		gpio82i_pins: gpio82i-pins {
			pins = "GPIO82/PWM2";
			bias-disable;
			input-enable;
		};
		gpio83i_pins: gpio83i-pins {
			pins = "GPIO83/PWM3";
			bias-disable;
			input-enable;
		};
		gpio144i_pins: gpio144i-pins {
			pins = "GPIO144/PWM4";
			bias-disable;
			input-enable;
		};
		gpio145i_pins: gpio145i-pins {
			pins = "GPIO145/PWM5";
			bias-disable;
			input-enable;
		};
		gpio146i_pins: gpio146i-pins {
			pins = "GPIO146/PWM6";
			bias-disable;
			input-enable;
		};
		gpio147oh_pins: gpio147oh-pins {
			pins = "GPIO147/PWM7";
			bias-disable;
			output-high;
		};
		gpio168ol_pins: gpio168ol-pins {
			pins = "GPIO168/nCLKRUN/nESPIALERT";
			bias-disable;
			output-low;
		};
		gpio169oh_pins: gpio169oh-pins {
			pins = "GPIO169/nSCIPME";
			bias-disable;
			output-high;
		};
		gpio170ol_pins: gpio170ol-pins {
			pins = "GPIO170/nSMI";
			bias-disable;
			output-low;
		};
		gpio218oh_pins: gpio218oh-pins {
			pins = "GPIO218/nWDO1";
			bias-disable;
			output-high;
		};
		gpio37i_pins: gpio37i-pins {
			pins = "GPIO37/SMB3CSDA";
			bias-disable;
			input-enable;
		};
		gpio38i_pins: gpio38i-pins {
			pins = "GPIO38/SMB3CSCL";
			bias-disable;
			input-enable;
		};
		gpio39i_pins: gpio39i-pins {
			pins = "GPIO39/SMB3BSDA";
			bias-disable;
			input-enable;
		};
		gpio40i_pins: gpio40i-pins {
			pins = "GPIO40/SMB3BSCL";
			bias-disable;
			input-enable;
		};
		gpio121i_pins: gpio121i-pins {
			pins = "GPIO121/SMB2CSCL";
			bias-disable;
			input-enable;
		};
		gpio122i_pins: gpio122i-pins {
			pins = "GPIO122/SMB2BSDA";
			bias-disable;
			input-enable;
		};
		gpio123i_pins: gpio123i-pins {
			pins = "GPIO123/SMB2BSCL";
			bias-disable;
			input-enable;
		};
		gpio124i_pins: gpio124i-pins {
			pins = "GPIO124/SMB1CSDA";
			bias-disable;
			input-enable;
		};
		gpio125i_pins: gpio125i-pins {
			pins = "GPIO125/SMB1CSCL";
			bias-disable;
			input-enable;
		};
		gpio126i_pins: gpio126i-pins {
			pins = "GPIO126/SMB1BSDA";
			bias-disable;
			input-enable;
		};
		gpio127i_pins: gpio127i-pins {
			pins = "GPIO127/SMB1BSCL";
			bias-disable;
			input-enable;
		};
		gpio136i_pins: gpio136i-pins {
			pins = "GPIO136/SD1DT0";
			bias-disable;
			input-enable;
		};
		gpio137oh_pins: gpio137oh-pins {
			pins = "GPIO137/SD1DT1";
			bias-disable;
			output-high;
		};
		gpio138i_pins: gpio138i-pins {
			pins = "GPIO138/SD1DT2";
			bias-disable;
			input-enable;
		};
		gpio139i_pins: gpio139i-pins {
			pins = "GPIO139/SD1DT3";
			bias-disable;
			input-enable;
		};
		gpio140i_pins: gpio140i-pins {
			pins = "GPIO140/SD1CLK";
			bias-disable;
			input-enable;
		};
		gpio141i_pins: gpio141i-pins {
			pins = "GPIO141/SD1WP";
			bias-disable;
			input-enable;
		};
		gpio190oh_pins: gpio190oh-pins {
			pins = "GPIO190/nPRD_SMI";
			bias-disable;
			output-high;
		};
		gpio191oh_pins: gpio191oh-pins {
			pins = "GPIO191";
			bias-disable;
			output-high;
		};
		gpio195ol_pins: gpio195ol-pins {
			pins = "GPIO195/SMB0BSDA";
			bias-disable;
			output-low;
		};
		gpio196ol_pins: gpio196ol-pins {
			pins = "GPIO196/SMB0CSCL";
			bias-disable;
			output-low;
		};
		gpio199i_pins: gpio199i-pins {
			pins = "GPIO199/SMB0DSCL";
			bias-disable;
			input-enable;
		};
		gpio202ol_pins: gpio202ol-pins {
			pins = "GPIO202/SMB0CSDA";
			bias-disable;
			output-low;
		};
	};
};

&gmac0 {
	phy-mode = "rgmii-id";
	snps,eee-force-disable;
	status = "okay";
};

&ehci1 {
	status = "okay";
};

&fiu0 {
	pinctrl-names = "default";
	pinctrl-0 = <&spi0cs1_pins>;
	status = "okay";
	spi-nor@0 {
		compatible = "jedec,spi-nor";
		#address-cells = <1>;
		#size-cells = <1>;
		reg = <0>;
		spi-max-frequency = <5000000>;
		spi-rx-bus-width = <2>;
		label = "bmc";
		partitions@80000000 {
			compatible = "fixed-partitions";
			#address-cells = <1>;
			#size-cells = <1>;
			u-boot@0 {
				label = "u-boot";
				reg = <0x0000000 0xC0000>;
				read-only;
			};
			u-boot-env@100000{
				label = "u-boot-env";
				reg = <0x00100000 0x40000>;
			};
			kernel@200000 {
				label = "kernel";
				reg = <0x0200000 0x600000>;
			};
			rofs@800000 {
				label = "rofs";
				reg = <0x800000 0x3500000>;
			};
			rwfs@3d00000 {
				label = "rwfs";
				reg = <0x3d00000 0x300000>;
			};
		};
	};
	spi-nor@1 {
		compatible = "jedec,spi-nor";
		#address-cells = <1>;
		#size-cells = <1>;
		reg = <1>;
		spi-max-frequency = <5000000>;
		spi-rx-bus-width = <2>;
		partitions@88000000 {
			compatible = "fixed-partitions";
			#address-cells = <1>;
			#size-cells = <1>;
			spare1@0 {
				label = "spi0-cs1-spare1";
				reg = <0x0 0x800000>;
			};
			spare2@800000 {
				label = "spi0-cs1-spare2";
				reg = <0x800000 0x0>;
			};
		};
	};
};

&fiu3 {
	pinctrl-0 = <&spi3_pins>;
	spi-nor@0 {
		compatible = "jedec,spi-nor";
		#address-cells = <1>;
		#size-cells = <1>;
		reg = <0>;
		spi-max-frequency = <5000000>;
		spi-rx-bus-width = <2>;
		partitions@A0000000 {
			compatible = "fixed-partitions";
			#address-cells = <1>;
			#size-cells = <1>;
			system1@0 {
				label = "bios";
				reg = <0x0 0x0>;
			};
			system2@800000 {
				label = "spi3-system2";
				reg = <0x800000 0x0>;
			};
		};
	};
};

&watchdog1 {
	status = "okay";
};

&rng {
	status = "okay";
};

&serial0 {
	status = "okay";
};

&serial1 {
	status = "okay";
};

&serial2 {
	status = "okay";
};

&serial3 {
	status = "okay";
};

&adc {
	#io-channel-cells = <1>;
	status = "okay";
};

&i2c1 {
	status = "okay";
	i2c-switch@75 {
		compatible = "nxp,pca9548";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x75>;
		i2c-mux-idle-disconnect;

		i2c@2 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <2>;

			// Rear-Fan
			max31790@58 {
				compatible = "maxim,max31790";
				reg = <0x58>;
			};
		};

		i2c@3 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <3>;

			// Mid-Fan
			max31790@58 {
				compatible = "maxim,max31790";
				reg = <0x58>;
			};
		};

		i2c-bus@4 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <4>;

			// INLET1_T
			lm75@5c {
				compatible = "ti,lm75";
				reg = <0x5c>;
			};
		};

		i2c-bus@5 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <5>;

			// OUTLET1_T
			lm75@5c {
				compatible = "ti,lm75";
				reg = <0x5c>;
			};
		};

		i2c-bus@6 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <6>;

			// OUTLET2_T
			lm75@5c {
				compatible = "ti,lm75";
				reg = <0x5c>;
			};
		};

		i2c-bus@7 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <7>;

			// OUTLET3_T
			lm75@5c {
				compatible = "ti,lm75";
				reg = <0x5c>;
			};
		};
	};
	i2c-switch@77 {
		compatible = "nxp,pca9548";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x77>;
		i2c-mux-idle-disconnect;

		i2c-bus@2 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <2>;

			// STB-T
			pmbus@74 {
				compatible = "pmbus";
				reg = <0x74>;
			};
		};
	};
};

&i2c2 {
	status = "okay";
	smpro@4f {
		compatible = "ampere,smpro";
		reg = <0x4f>;
	};

	smpro@4e {
		compatible = "ampere,smpro";
		reg = <0x4e>;
	};
};

&i2c3 {
	status = "okay";
};

&i2c4 {
	status = "okay";
	i2c-switch@77 {
		compatible = "nxp,pca9548";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x77>;
		i2c-mux-idle-disconnect;

		i2c-bus@0 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0>;

			// ADC sensors
			adm1266@40 {
				compatible = "adi,adm1266";
				reg = <0x40>;
			};
		};

		i2c-bus@1 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <1>;

			// ADC sensors
			adm1266@41 {
				compatible = "adi,adm1266";
				reg = <0x41>;
			};
		};
	};
};

&i2c5 {
	status = "okay";
};

&i2c6 {
	status = "okay";
};

&i2c7 {
	status = "okay";
};

&i2c8 {
	status = "okay";
};

&i2c9 {
	status = "okay";
};

&i2c10 {
	status = "okay";
};

&i2c11 {
	status = "okay";
};

&i2c12 {
	status = "okay";
	ssif-bmc@10 {
		compatible = "ssif-bmc";
		reg = <0x10>;
	};
};

&i2c13 {
	status = "okay";
	i2c-switch@77 {
		compatible = "nxp,pca9548";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x77>;
		i2c-mux-idle-disconnect;

		i2c-bus@3 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <3>;

			// M2_ZONE_T
			lm75@28 {
				compatible = "ti,lm75";
				reg = <0x28>;
			};
		};

		i2c-bus@4 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <4>;

			// BATT_ZONE_T
			lm75@29 {
				compatible = "ti,lm75";
				reg = <0x29>;
			};
		};

		i2c-bus@5 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <5>;

			// NBM1_ZONE_T
			lm75@28 {
				compatible = "ti,lm75";
				reg = <0x28>;
			};
		};
		i2c-bus@6 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <6>;

			// NBM2_ZONE_T
			lm75@29 {
				compatible = "ti,lm75";
				reg = <0x29>;
			};
		};
	};
};

&i2c14 {
	status = "okay";
};

&i2c15 {
	status = "okay";
};

&spi0 {
	cs-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
	status = "okay";
};

&pinctrl {
	pinctrl-names = "default";
	pinctrl-0 = <
			&gpio61oh_pins
			&gpio62oh_pins
			&gpio161ol_pins
			&gpio163i_pins
			&gpio167ol_pins
			&gpio95i_pins
			&gpio65ol_pins
			&gpio66oh_pins
			&gpio67oh_pins
			&gpio68ol_pins
			&gpio69i_pins
			&gpio70ol_pins
			&gpio71i_pins
			&gpio72i_pins
			&gpio73i_pins
			&gpio74i_pins
			&gpio75i_pins
			&gpio76i_pins
			&gpio77i_pins
			&gpio78i_pins
			&gpio79ol_pins
			&gpio80oh_pins
			&gpio81i_pins
			&gpio82i_pins
			&gpio83i_pins
			&gpio144i_pins
			&gpio145i_pins
			&gpio146i_pins
			&gpio147oh_pins
			&gpio168ol_pins
			&gpio169oh_pins
			&gpio170ol_pins
			&gpio218oh_pins
			&gpio37i_pins
			&gpio38i_pins
			&gpio39i_pins
			&gpio40i_pins
			&gpio121i_pins
			&gpio122i_pins
			&gpio123i_pins
			&gpio124i_pins
			&gpio125i_pins
			&gpio126i_pins
			&gpio127i_pins
			&gpio136i_pins
			&gpio137oh_pins
			&gpio138i_pins
			&gpio139i_pins
			&gpio140i_pins
			&gpio141i_pins
			&gpio190oh_pins
			&gpio191oh_pins
			&gpio195ol_pins
			&gpio196ol_pins
			&gpio199i_pins
			&gpio202ol_pins
			>;
};

&gcr {
	serial_port_mux: mux-controller {
		compatible = "mmio-mux";
		#mux-control-cells = <1>;

		mux-reg-masks = <0x38 0x07>;
		idle-states = <2>;
	};
};
