// 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.
 */

/*
 * SSI-PCM3168A
 *	aplay   -D plughw:0,2 xxx.wav
 *	arecord -D plughw:0,3 xxx.wav
 */

/ {
	aliases {
		serial1 = &hscif0;
		serial2 = &scif1;
		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";
};

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

&i2c2 {
	i2cswitch2: i2c-switch@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>;

				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					mclk-fs = <512>;
					port@0 {
						reg = <0>;
						pcm3168a_endpoint_p: endpoint {
							remote-endpoint = <&rsnd_for_pcm3168a_play>;
							clocks = <&clksndsel>;
						};
					};
					port@1 {
						reg = <1>;
						pcm3168a_endpoint_c: endpoint {
							remote-endpoint = <&rsnd_for_pcm3168a_capture>;
							clocks = <&clksndsel>;
						};
					};
				};
			};

			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-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-parent = <&gpio6>;
		interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
	};
};

&i2c4 {
	i2cswitch4: i2c-switch@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-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-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";
	};

	scif1_pins: scif1 {
		groups = "scif1_data_b", "scif1_ctrl";
		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>;

	ports {
		/* rsnd_port0/1 are defined in ulcb.dtsi */
		rsnd_port2: port@2 {
			reg = <2>;
			rsnd_for_pcm3168a_play: endpoint {
				remote-endpoint = <&pcm3168a_endpoint_p>;
				bitclock-master;
				frame-master;
				dai-tdm-slot-num = <8>;
				playback = <&ssi3>;
			};
		};
		rsnd_port3: port@3 {
			reg = <3>;
			rsnd_for_pcm3168a_capture: endpoint {
				remote-endpoint = <&pcm3168a_endpoint_c>;
				bitclock-master;
				frame-master;
				dai-tdm-slot-num = <6>;
				capture = <&ssi4>;
			};
		};
	};
};

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

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

&sound_card {
	links = <&rsnd_port0	/* ak4613 */
		 &rsnd_port1	/* HDMI0  */
		 &rsnd_port2	/* pcm3168a playback */
		 &rsnd_port3	/* pcm3168a capture  */
		>;
};

&ssi4 {
	shared-pin;
};

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

	status = "okay";
};

&xhci0 {
	status = "okay";
};
