/*
 * Copyright 2018 NXP
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

#include "fsl-imx8mq-som.dtsi"

/ {
	model = "Freescale i.MX8MQ Phanbell";
	compatible = "fsl,imx8mq-phanbell", "fsl,imx8mq";

	sound-rt5645 {
		compatible = "google,edgetpu-audio-card";
		model = "edgetpu-audio-card";
		audio-cpu = <&sai2>;
		audio-codec = <&rt5645>;
		google,model = "edgetpu-audio-card";
        status = "okay";
	};
};


&iomuxc {
	imx8mq-phanbell {
		pinctrl_sai2: sai2grp {
			fsl,pins = <
					MX8MQ_IOMUXC_SAI2_TXFS_SAI2_TX_SYNC     0xd6
					MX8MQ_IOMUXC_SAI2_TXC_SAI2_TX_BCLK      0xd6
					MX8MQ_IOMUXC_SAI2_MCLK_SAI2_MCLK        0xd6
					MX8MQ_IOMUXC_SAI2_TXD0_SAI2_TX_DATA0    0xd6
					MX8MQ_IOMUXC_SAI2_RXD0_SAI2_RX_DATA0    0xd6
					MX8MQ_IOMUXC_SPDIF_RX_GPIO5_IO4         0xd6
				>;
		};
	};
};

&pwm1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_pwm1>;
	status = "okay";
};

&pwm2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_pwm2>;
	status = "okay";
};

&pwm3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_pwm3>;
	status = "okay";
};

&ecspi1 {
	fsl,spi-num-chipselects = <2>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_ecspi1 &pinctrl_ecspi1_cs>;
	cs-gpios = <&gpio5 9 GPIO_ACTIVE_HIGH>,
		   <&gpio3 2 GPIO_ACTIVE_HIGH>;
	status = "okay";

	spidev@0 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "rohm,dh2228fv";
		spi-max-frequency = <20000000>;
		reg = <0>;
		status = "okay";
	};
	spidev@1 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "rohm,dh2228fv";
		spi-max-frequency = <20000000>;
		reg = <1>;
		status = "okay";
	};

};

&iomuxc {
	pinctrl-names = "default";
	pinctrl-1 = <&pinctrl_gpio>;

	imx8mq-phanbell {
		pinctrl_gpio: gpio_ctrlgrp{
			fsl,pins = <

				/* 40 Pin Header */
				MX8MQ_IOMUXC_GPIO1_IO06_GPIO1_IO6		0x19
				MX8MQ_IOMUXC_GPIO1_IO07_GPIO1_IO7		0x19
				MX8MQ_IOMUXC_GPIO1_IO08_GPIO1_IO8		0x19
				MX8MQ_IOMUXC_SAI5_RXD1_GPIO3_IO22		0x19
				MX8MQ_IOMUXC_SAI5_RXD3_GPIO3_IO24		0x19
				MX8MQ_IOMUXC_SAI1_RXD0_GPIO4_IO2		0x19
				MX8MQ_IOMUXC_SAI1_TXFS_GPIO4_IO10		0x19
				MX8MQ_IOMUXC_SAI1_TXC_GPIO4_IO11		0x19
				MX8MQ_IOMUXC_SAI1_TXD0_GPIO4_IO12		0x19
				MX8MQ_IOMUXC_ECSPI2_SCLK_GPIO5_IO10		0x19
				MX8MQ_IOMUXC_ECSPI2_MISO_GPIO5_IO12		0x19
				MX8MQ_IOMUXC_ECSPI2_SS0_GPIO5_IO13		0x19
				MX8MQ_IOMUXC_SAI1_RXD2_GPIO4_IO4		0x19
				MX8MQ_IOMUXC_SAI1_RXD3_GPIO4_IO5		0x19
				MX8MQ_IOMUXC_SAI1_RXD2_GPIO4_IO4		0x19


				/* 26 Pin Header */
				MX8MQ_IOMUXC_SAI1_TXD6_GPIO4_IO18		0x19
				MX8MQ_IOMUXC_SAI1_RXD6_GPIO4_IO8		0x19
				MX8MQ_IOMUXC_SAI5_RXD2_GPIO3_IO23		0x19
				MX8MQ_IOMUXC_SAI3_RXFS_GPIO4_IO28		0x19
				MX8MQ_IOMUXC_SPDIF_TX_GPIO5_IO3			0x19
				MX8MQ_IOMUXC_SAI1_RXFS_GPIO4_IO0		0x19

				/* Misc */
				MX8MQ_IOMUXC_NAND_DATA07_GPIO3_IO13		0x19

			>;
		};

		pinctrl_pwm1: pwm1 {
			fsl,pins = <
				MX8MQ_IOMUXC_GPIO1_IO01_PWM1_OUT		0x7f
			>;
		};

		pinctrl_pwm2: pwm2 {
			fsl,pins = <
				MX8MQ_IOMUXC_GPIO1_IO13_PWM2_OUT		0x7f
			>;
		};

		pinctrl_pwm3: pwm3 {
			fsl,pins = <
				MX8MQ_IOMUXC_GPIO1_IO14_PWM3_OUT		0x7f
			>;
		};
		pinctrl_ecspi1: ecspi1grp {
			fsl,pins = <
				MX8MQ_IOMUXC_ECSPI1_SCLK_ECSPI1_SCLK		0x82
				MX8MQ_IOMUXC_ECSPI1_MOSI_ECSPI1_MOSI		0x82
				MX8MQ_IOMUXC_ECSPI1_MISO_ECSPI1_MISO		0x82
			>;
		};
		pinctrl_ecspi1_cs: ecspi1_cs_grp {
			fsl,pins = <
				MX8MQ_IOMUXC_ECSPI1_SS0_GPIO5_IO9		0x82
				MX8MQ_IOMUXC_NAND_CE1_B_GPIO3_IO2		0x82
			>;
		};
		pinctrl_usb5744: usb5744 {
			fsl,pins = <
				MX8MQ_IOMUXC_SAI1_RXC_GPIO4_IO1			0x19
			>;
		};

		pinctrl_i2c_mux: pinctrl_mux_grp {
			fsl,pins = <
				MX8MQ_IOMUXC_NAND_CLE_GPIO3_IO5		0x18
			>;
		};
	};
};

&hdmi {
	status = "okay";
};

&hdmi_cec {
	status = "okay";
};

&dcss {
	disp-dev = "hdmi_disp";
	status = "okay";
};

&sai2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_sai2>;
	assigned-clocks =
		<&clk IMX8MQ_CLK_SAI2_SRC>,
		<&clk IMX8MQ_CLK_SAI2_DIV>;
	assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>;
	assigned-clock-rates = <0>, <24576000>;
	status = "okay";

	clocks = <&clk IMX8MQ_CLK_SAI2_IPG>, <&clk IMX8MQ_CLK_DUMMY>,
		<&clk IMX8MQ_CLK_SAI2_ROOT>, <&clk IMX8MQ_CLK_DUMMY>,
		<&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_AUDIO_PLL1_OUT>,
		<&clk IMX8MQ_AUDIO_PLL2_OUT>;
	clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3", "pll8k", "pll11k";
};

&i2c2 {
	status = "okay";

	ov5645_mipi: ov5645_mipi@3c {
		compatible = "ovti,ov5645_mipi";
		reg = <0x3c>;
		status = "okay";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_csi1>;
		clocks = <&clk IMX8MQ_CLK_DUMMY>;
		clock-names = "csi_mclk";
		csi_id = <0>;
		pwn-gpios = <&gpio3 8 1>;
		rst-gpios = <&gpio1 12 0>;
		mclk = <20000000>;
		mclk_source = <0>;
		ae_target = <52>;
		port {
			ov5645_mipi1_ep: endpoint {
				remote-endpoint = <&mipi1_sensor_ep>;
			};
		};
	};

	led_driver: ktd2027@30 {
		compatible = "kinetic,ktd2026";
		reg = <0x30>;
		status = "okay";
	};
};

&usb_dwc3_0 {
	extcon = <&typec_ptn5150>;
};

&i2c3 {
	status = "okay";

	rt5645: rt5645@1a {
		compatible = "realtek,rt5645";
		reg = <0x1a>;
		clocks = <&clk IMX8MQ_CLK_SAI2_ROOT>;
		clock-names = "mclk1";
		status = "okay";
		realtek,dmic1-data-pin = <2>; // GPIO5
		realtek,jd-mode = <0>;
		realtek,jd-invert;
		realtek,jd-low-volt-enable;
		interrupt-parent = <&gpio5>;
		interrupts = <4 IRQ_TYPE_EDGE_BOTH>;
		hp-detect-gpios = <&gpio5 4 GPIO_ACTIVE_HIGH>;
	};

	typec_ptn5150: ptn5150@3d {
		compatible = "nxp,ptn5150a";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_typec>;
		reg = <0x3d>;
		interrupt-parent = <&gpio3>;
		interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
	};

	usb3_hub: usb5744@2d {
		compatible = "microchip,usb5744";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_usb5744>;
		reg = <0x2d>;
		reset-gpios = <&gpio4 1 GPIO_ACTIVE_LOW>;
	};

	power_monitor_m2_a: power_monitor_m2_a@40 {
		compatible = "ti,ina233";
		reg = <0x40>;
		shunt-resistor = <10000>;
	};

	power_monitor_m2_b: power_monitor_m2_b@41 {
		compatible = "ti,ina233";
		reg = <0x41>;
		shunt-resistor = <10000>;
	};

	power_monitor_m2_c: power_monitor_m2_c@44 {
		compatible = "ti,ina233";
		reg = <0x44>;
		shunt-resistor = <10000>;
	};

	power_monitor_m2_d: power_monitor_m2_d@45 {
		compatible = "ti,ina233";
		reg = <0x45>;
		shunt-resistor = <10000>;
	};

	power_monitor_som: power_monitor_som@48 {
		compatible = "ti,ina233";
		reg = <0x48>;
		shunt-resistor = <10000>;
	};

	power_monitor_3P3: power_monitor_3P3@4c {
		compatible = "ti,ina233";
		reg = <0x4c>;
		shunt-resistor = <10000>;
	};

	power_monitor_1P8: power_monitor_1P8@4d {
		compatible = "ti,ina233";
		reg = <0x4d>;
		shunt-resistor = <10000>;
	};

	power_monitor_5P0: power_monitor_5P04f {
		compatible = "ti,ina233";
		reg = <0x4f>;
		shunt-resistor = <10000>;
	};

	i2c-mux@70 {
		compatible = "nxp,pca9544";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x70>;
		pinctrl-0 = <&pinctrl_i2c_mux>;
		pinctrl-names = "default";

		interrupt-parent = <&gpio3>;
		interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
		interrupt-controller;
		#interrupt-cells = <2>;
	};
};

&gpio3 {
	i2c-mux {
		gpio-hog;
		gpios = <5 GPIO_ACTIVE_LOW>;
		input;
	};
};

&csi1_bridge {
	fsl,mipi-mode;
	fsl,two-8bit-sensor-mode;
	status = "okay";

	port {
		csi1_ep: endpoint {
			remote-endpoint = <&csi1_mipi_ep>;
		};
	};
};

&mipi_csi_1 {
	#address-cells = <1>;
	#size-cells = <0>;
	status = "okay";
	port {
		mipi1_sensor_ep: endpoint1 {
			remote-endpoint = <&ov5645_mipi1_ep>;
			data-lanes = <1 2>;
		};

		csi1_mipi_ep: endpoint2 {
			remote-endpoint = <&csi1_ep>;
		};
	};
};

&iomuxc {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_hog>;

	imx8mq-phanbell {
		pinctrl_csi1: csi1grp {
			fsl,pins = <
				MX8MQ_IOMUXC_NAND_DATA02_GPIO3_IO8			0x19 /* PWDN */
				MX8MQ_IOMUXC_GPIO1_IO12_GPIO1_IO12			0x19 /* RESETB */
				/* vsync pin mux? can't find in schematic */
			>;
		};
	};
};
