// 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>;
			};
		};
	};

	accel_3v3: regulator-acc-3v3 {
		compatible = "regulator-fixed";
		regulator-name = "accel-3v3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
	};

	hdmi_1v8: regulator-hdmi-1v8 {
		compatible = "regulator-fixed";
		regulator-name = "hdmi-1v8";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
	};

	hdmi_3v3: regulator-hdmi-3v3 {
		compatible = "regulator-fixed";
		regulator-name = "hdmi-3v3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
	};

	snd_3p3v: regulator-snd_3p3v {
		compatible = "regulator-fixed";
		regulator-name = "snd-3.3v";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
	};

	snd_vcc5v: regulator-snd_vcc5v {
		compatible = "regulator-fixed";
		regulator-name = "snd-vcc5v";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
	};

	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 = <&hdmi_1v8>;
				dvdd-supply = <&hdmi_1v8>;
				pvdd-supply = <&hdmi_1v8>;
				dvdd-3v-supply = <&hdmi_3v3>;
				bgvdd-supply = <&hdmi_1v8>;

				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 = <&accel_3v3>;
				vddio-supply = <&accel_3v3>;
			};

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

				VDD1-supply = <&snd_3p3v>;
				VDD2-supply = <&snd_3p3v>;
				VCCAD1-supply = <&snd_vcc5v>;
				VCCAD2-supply = <&snd_vcc5v>;
				VCCDA1-supply = <&snd_vcc5v>;
				VCCDA2-supply = <&snd_vcc5v>;
			};

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

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

	/* 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";
};

&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";
};

&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"
