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

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

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

&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 {
	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>;

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

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

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

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

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

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

&i2c4 {
	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>;
	};

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

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

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

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

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

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

	status = "okay";
};

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

	status = "okay";
};

&xhci0 {
	status = "okay";
};
