// SPDX-License-Identifier: GPL-2.0
/*
 * Device Tree Source for the Kingfisher (ULCB extension) board
 *
 * Copyright (C) 2017 Renesas Electronics Corp.
 * Copyright (C) 2017 Cogent Embedded, Inc.
 */

/ {
	aliases {
		serial1 = &hscif0;
		serial2 = &scif1;
		serial3 = &hscif1;
		mmc2 = &sdhi3;
	};

	clksndsel: clksndsel {
		#clock-cells = <0>;
		compatible = "gpio-mux-clock";
		clocks = <&cs2000>, <&audio_clk_a>; /* clk8snd, clksnd */
		select-gpios = <&gpio_exp_75 13 GPIO_ACTIVE_HIGH>;
	};

	hdmi1-out {
		compatible = "hdmi-connector";
		type = "a";

		port {
			hdmi1_con: endpoint {
				remote-endpoint = <&adv7513_out>;
			};
		};
	};

	reg_t1p8v: regulator-t1p8v {
		compatible = "regulator-fixed";
		regulator-name = "T1.8V";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		regulator-boot-on;
		regulator-always-on;
	};

	pcie_1v5: regulator-pcie-1v5 {
		compatible = "regulator-fixed";
		regulator-name = "pcie-1v5";
		regulator-min-microvolt = <1500000>;
		regulator-max-microvolt = <1500000>;
		gpio = <&gpio_exp_77 15 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	pcie_3v3: regulator-pcie-3v3 {
		compatible = "regulator-fixed";
		regulator-name = "pcie-3v3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		gpio = <&gpio_exp_77 14 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	reg_5v: regulator-5v {
		compatible = "regulator-fixed";
		regulator-name = "fixed-5V";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		regulator-boot-on;
		regulator-always-on;
	};

	wlan_en: regulator-wlan_en {
		compatible = "regulator-fixed";
		regulator-name = "wlan-en-regulator";

		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;

		gpio = <&gpio_exp_74 4 GPIO_ACTIVE_HIGH>;
		startup-delay-us = <70000>;
		enable-active-high;
	};
};

&can0 {
	pinctrl-0 = <&can0_pins>;
	pinctrl-names = "default";
	status = "okay";
};

&can1 {
	pinctrl-0 = <&can1_pins>;
	pinctrl-names = "default";
	status = "okay";
};

&du {
	ports {
		port@0 {
			du_out_rgb: endpoint {
				remote-endpoint = <&adv7513_in>;
			};
		};
	};
};

&ehci0 {
	dr_mode = "otg";
	status = "okay";
};

&hscif0 {
	pinctrl-0 = <&hscif0_pins>;
	pinctrl-names = "default";
	uart-has-rtscts;

	status = "okay";
};

&hscif1 {
	pinctrl-0 = <&hscif1_pins>;
	pinctrl-names = "default";
	uart-has-rtscts;

	status = "okay";
};

&hsusb {
	dr_mode = "otg";
	status = "okay";
};

&i2c2 {
	i2cmux2: i2c-mux@71 {
		compatible = "nxp,pca9548";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x71>;
		reset-gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;

		/* HDMIoSDA, HDMIoSCL */
		i2c@4 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <4>;

			hdmi@3d {
				compatible = "adi,adv7513";
				reg = <0x3d>;

				pinctrl-0 = <&hdmi1_pins>;
				pinctrl-names = "default";

				interrupt-parent = <&gpio2>;
				interrupts = <14 IRQ_TYPE_LEVEL_LOW>;

				clocks = <&cs2000>;
				clock-names = "cec";

				pd-gpios = <&gpio_exp_75 5 GPIO_ACTIVE_LOW>;

				avdd-supply = <&reg_t1p8v>;
				dvdd-supply = <&reg_t1p8v>;
				pvdd-supply = <&reg_t1p8v>;
				dvdd-3v-supply = <&reg_3p3v>;
				bgvdd-supply = <&reg_t1p8v>;

				adi,input-depth = <8>;
				adi,input-colorspace = "rgb";
				adi,input-clock = "1x";

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

					port@0 {
						reg = <0>;
						adv7513_in: endpoint {
							remote-endpoint = <&du_out_rgb>;
						};
					};

					port@1 {
						reg = <1>;
						adv7513_out: endpoint {
							remote-endpoint = <&hdmi1_con>;
						};
					};
				};
			};
		};

		/* Audio_SDA, Audio_SCL */
		i2c@7 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <7>;

			accelerometer@1d {
				compatible = "st,lsm9ds0-imu";
				reg = <0x1d>;

				vdd-supply = <&reg_3p3v>;
				vddio-supply = <&reg_3p3v>;
			};

			pcm3168a: audio-codec@44 {
				#sound-dai-cells = <0>;
				compatible = "ti,pcm3168a";
				reg = <0x44>;
				clocks = <&clksndsel>;
				clock-names = "scki";

				VDD1-supply = <&reg_3p3v>;
				VDD2-supply = <&reg_3p3v>;
				VCCAD1-supply = <&reg_5v>;
				VCCAD2-supply = <&reg_5v>;
				VCCDA1-supply = <&reg_5v>;
				VCCDA2-supply = <&reg_5v>;
			};

			gyroscope@6b {
				compatible = "st,lsm9ds0-gyro";
				reg = <0x6b>;

				vdd-supply = <&reg_3p3v>;
				vddio-supply = <&reg_3p3v>;
			};
		};
	};

	/* U11 */
	gpio_exp_74: gpio@74 {
		compatible = "ti,tca9539";
		reg = <0x74>;
		gpio-controller;
		#gpio-cells = <2>;
		interrupt-controller;
		#interrupt-cells = <2>;
		interrupt-parent = <&gpio6>;
		interrupts = <8 IRQ_TYPE_EDGE_FALLING>;

		audio-out-off-hog {
			gpio-hog;
			gpios = <0 GPIO_ACTIVE_HIGH>; /* P00 */
			output-high;
			line-name = "Audio_Out_OFF";
		};

		hub-pwen-hog {
			gpio-hog;
			gpios = <6 GPIO_ACTIVE_HIGH>;
			output-high;
			line-name = "HUB pwen";
		};

		hub-rst-hog {
			gpio-hog;
			gpios = <7 GPIO_ACTIVE_HIGH>;
			output-high;
			line-name = "HUB rst";
		};

		otg-extlpn-hog {
			gpio-hog;
			gpios = <9 GPIO_ACTIVE_HIGH>;
			output-high;
			line-name = "OTG EXTLPn";
		};

		otg-offvbusn-hog {
			gpio-hog;
			gpios = <8 GPIO_ACTIVE_HIGH>;
			output-low;
			line-name = "OTG OFFVBUSn";
		};

		sd-wifi-mux-hog {
			gpio-hog;
			gpios = <5 GPIO_ACTIVE_HIGH>;
			output-low;	/* Connect WL1837 */
			line-name = "SD WiFi mux";
		};

		snd-rst-hog {
			gpio-hog;
			gpios = <15 GPIO_ACTIVE_HIGH>; /* P17 */
			output-high;
			line-name = "SND_RST";
		};
	};

	/* U5 */
	gpio_exp_75: gpio@75 {
		compatible = "ti,tca9539";
		reg = <0x75>;
		gpio-controller;
		#gpio-cells = <2>;
		interrupt-controller;
		#interrupt-cells = <2>;
		interrupt-parent = <&gpio6>;
		interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
	};
};

&i2c4 {
	i2cmux4: i2c-mux@71 {
		compatible = "nxp,pca9548";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x71>;
		reset-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
	};

	gpio_exp_76: gpio@76 {
		compatible = "ti,tca9539";
		reg = <0x76>;
		gpio-controller;
		#gpio-cells = <2>;
		interrupt-controller;
		#interrupt-cells = <2>;
		interrupt-parent = <&gpio7>;
		interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
	};

	gpio_exp_77: gpio@77 {
		compatible = "ti,tca9539";
		reg = <0x77>;
		gpio-controller;
		#gpio-cells = <2>;
		interrupt-controller;
		#interrupt-cells = <2>;
		interrupt-parent = <&gpio5>;
		interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
	};
};

&ohci0 {
	dr_mode = "otg";
	status = "okay";
};

&pcie_bus_clk {
	clock-frequency = <100000000>;
};

&pciec0 {
	status = "okay";
};

&pciec1 {
	status = "okay";

	vpcie1v5-supply = <&pcie_1v5>;
	vpcie3v3-supply = <&pcie_3v3>;
};

&pfc {
	can0_pins: can0 {
		groups = "can0_data_a";
		function = "can0";
	};

	can1_pins: can1 {
		groups = "can1_data";
		function = "can1";
	};

	hdmi1_pins: hdmi1 {
		adv7513-interrupt {
			pins = "GP_2_14";
			bias-pull-up;
		};

		du {
			groups = "du_rgb888", "du_sync", "du_clk_out_0",
				 "du_disp";
			function = "du";
		};
	};

	hscif0_pins: hscif0 {
		groups = "hscif0_data", "hscif0_ctrl";
		function = "hscif0";
	};

	hscif1_pins: hscif1 {
		groups = "hscif1_data_a", "hscif1_ctrl_a";
		function = "hscif1";
	};

	scif1_pins: scif1 {
		groups = "scif1_data_b";
		function = "scif1";
	};

	sdhi3_pins: sdhi3 {
		groups = "sdhi3_data4", "sdhi3_ctrl";
		function = "sdhi3";
		power-source = <3300>;
	};

	sound_pcm_pins: sound-pcm {
		groups = "ssi349_ctrl", "ssi3_data", "ssi4_data";
		function = "ssi";
	};

	usb0_pins: usb0 {
		groups = "usb0";
		function = "usb0";
	};
};

&rcar_sound {
	pinctrl-0 = <&sound_pins
		     &sound_clk_pins
		     &sound_pcm_pins>;
};

&scif1 {
	pinctrl-0 = <&scif1_pins>;
	pinctrl-names = "default";

	status = "okay";

	gnss {
		compatible = "u-blox,neo-m8";
		reset-gpios = <&gpio_exp_75 6 GPIO_ACTIVE_LOW>;
		vcc-supply = <&reg_3p3v>;
		current-speed = <9600>;
	};
};

&sdhi3 {
	pinctrl-0 = <&sdhi3_pins>;
	pinctrl-names = "default";

	vmmc-supply = <&wlan_en>;
	vqmmc-supply = <&wlan_en>;
	bus-width = <4>;
	no-1-8-v;
	non-removable;
	cap-power-off-card;
	keep-power-in-suspend;
	max-frequency = <26000000>;
	status = "okay";

	#address-cells = <1>;
	#size-cells = <0>;
	wlcore: wlcore@2 {
		compatible = "ti,wl1837";
		reg = <2>;
		interrupt-parent = <&gpio1>;
		interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
	};
};

&ssi4 {
	shared-pin;
};

&usb2_phy0 {
	pinctrl-0 = <&usb0_pins>;
	pinctrl-names = "default";

	status = "okay";
};

&xhci0 {
	status = "okay";
};

/*
 * For sound-test.
 *
 * We can switch Audio Card for testing
 * see also ulcb.dtsi
 *
 * #include "ulcb-kf-simple-audio-card.dtsi"
 * #include "ulcb-kf-simple-audio-card-mix+split.dtsi"
 * #include "ulcb-kf-audio-graph-card.dtsi"
 * #include "ulcb-kf-audio-graph-card-mix+split.dtsi"
 * #include "ulcb-kf-audio-graph-card2-mix+split.dtsi"
 */
#include "ulcb-kf-audio-graph-card2.dtsi"
