// SPDX-License-Identifier: (GPL-2.0+ OR MIT)

/dts-v1/;

#include <dt-bindings/clock/rockchip,rk808.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/sound/rt5640.h>
#include "rk3368.dtsi"

/ {
	model = "Neardi LBA3368";
	compatible = "neardi,lba3368", "rockchip,rk3368";

	aliases {
		ethernet0 = &gmac;
		mmc0 = &emmc;
		mmc1 = &sdmmc;
		mmc2 = &sdio0;
		rtc0 = &hym8563;
		rtc1 = &rk808;
	};

	chosen {
		stdout-path = "serial1:115200n8";
	};

	memory@0 {
		device_type = "memory";
		reg = <0x0 0x0 0x0 0x40000000>;
	};

	adc-key {
		compatible = "adc-keys";
		io-channels = <&saradc 1>;
		io-channel-names = "buttons";
		poll-interval = <100>;
		keyup-threshold-microvolt = <1800000>;

		button-recovery {
			label = "Recovery";
			linux,code = <KEY_VENDOR>;
			press-threshold-microvolt = <0>;
		};
	};

	analog-sound {
		compatible = "audio-graph-card";
		dais = <&i2s_8ch_p0>;
		hp-det-gpios = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>;
		label = "alc5640";
		routing = "Mic Jack", "MICBIAS1",
			  "IN1P", "Mic Jack",
			  "Headphone Jack", "HPOL",
			  "Headphone Jack", "HPOR",
			  "Speakers", "SPORP",
			  "Speakers", "SPORN",
			  "Speakers", "SPOLP",
			  "Speakers", "SPOLN";
		widgets = "Microphone", "Mic Jack",
			  "Headphone", "Headphone Jack",
			  "Speaker", "Speakers";
		pinctrl-names = "default";
		pinctrl-0 = <&hp_det>;
	};

	dc_12v: regulator-dc-12v {
		compatible = "regulator-fixed";
		regulator-name = "dc_12v";
		regulator-min-microvolt = <12000000>;
		regulator-max-microvolt = <12000000>;
		regulator-always-on;
		regulator-boot-on;
	};

	ext_gmac: gmac-clk {
		compatible = "fixed-clock";
		clock-frequency = <50000000>;
		clock-output-names = "ext_gmac";
		#clock-cells = <0>;
	};

	hub_avdd: regulator-hub-avdd {
		compatible = "regulator-fixed";
		regulator-name = "hub_avdd";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&vcc_io>;
		regulator-always-on;
	};

	leds {
		compatible = "gpio-leds";

		power-led {
			gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
			function = LED_FUNCTION_POWER;
			color = <LED_COLOR_ID_GREEN>;
			default-state = "on";
			pinctrl-names = "default";
			pinctrl-0 = <&power_led>;
		};
	};

	sdio_pwrseq: sdio-pwrseq {
		compatible = "mmc-pwrseq-simple";
		clocks = <&rk808 RK808_CLKOUT1>;
		clock-names = "ext_clock";
		reset-gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>;
		pinctrl-names = "default";
		pinctrl-0 = <&wifi_reg_on>;
	};

	vcc_host: regulator-vcc-host {
		compatible = "regulator-fixed";
		gpio = <&gpio3 RK_PC1 GPIO_ACTIVE_HIGH>;
		regulator-name = "vcc_host";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		vin-supply = <&vcc_sys>;
		pinctrl-names = "default";
		pinctrl-0 = <&host_vbus_drv>;
		enable-active-high;
		regulator-always-on;
	};

	vcc_lan: regulator-vcc-lan {
		compatible = "regulator-fixed";
		regulator-name = "vcc_lan";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&vcc_io>;
		regulator-always-on;
	};

	vcc_otg: regulator-vcc-otg {
		compatible = "regulator-fixed";
		gpio = <&gpio0 RK_PC1 GPIO_ACTIVE_HIGH>;
		regulator-name = "vcc_otg";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		vin-supply = <&vcc_sys>;
		pinctrl-names = "default";
		pinctrl-0 = <&otg_vbus_drv>;
		enable-active-high;
		regulator-always-on;
	};

	vcc_sys: regulator-vcc-sys {
		compatible = "regulator-fixed";
		regulator-name = "vcc_sys";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		vin-supply = <&dc_12v>;
		regulator-always-on;
		regulator-boot-on;
	};

	vdd10_usb: regulator-vdd10-usb {
		compatible = "regulator-fixed";
		regulator-name = "vdd10_usb";
		regulator-min-microvolt = <1000000>;
		regulator-max-microvolt = <1000000>;
		vin-supply = <&vdd_10>;
		regulator-always-on;
	};
};

&cpu_l0 {
	cpu-supply = <&vdd_cpu>;
};

&cpu_l1 {
	cpu-supply = <&vdd_cpu>;
};

&cpu_l2 {
	cpu-supply = <&vdd_cpu>;
};

&cpu_l3 {
	cpu-supply = <&vdd_cpu>;
};

&cpu_b0 {
	cpu-supply = <&vdd_cpu>;
};

&cpu_b1 {
	cpu-supply = <&vdd_cpu>;
};

&cpu_b2 {
	cpu-supply = <&vdd_cpu>;
};

&cpu_b3 {
	cpu-supply = <&vdd_cpu>;
};

&emmc {
	bus-width = <8>;
	vmmc-supply = <&vcc_io>;
	vqmmc-supply = <&vcc_18>;
	pinctrl-names = "default";
	pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
	cap-mmc-highspeed;
	non-removable;
	no-sd;
	no-sdio;
	mmc-hs200-1_8v;
	status = "okay";
};

&gmac {
	clock_in_out = "input";
	phy-handle = <&phy>;
	phy-mode = "rmii";
	phy-supply = <&vcc_lan>;
	assigned-clocks = <&cru SCLK_MAC>;
	assigned-clock-parents = <&ext_gmac>;
	pinctrl-names = "default";
	pinctrl-0 = <&rmii_pins>;
	status = "okay";

	mdio {
		compatible = "snps,dwmac-mdio";
		#address-cells = <1>;
		#size-cells = <0>;

		phy: ethernet-phy@1 {
			compatible = "ethernet-phy-ieee802.3-c22";
			reg = <1>;
			max-speed = <100>;
			reset-assert-us = <10000>;
			reset-deassert-us = <1000000>;
			reset-gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>;
			pinctrl-names = "default";
			pinctrl-0 = <&phy_rst>;
		};
	};
};

&io_domains {
	audio-supply = <&vcca1v8_codec>;
	dvp-supply = <&vcc_18>;
	flash0-supply = <&vcc_18>;
	gpio1830-supply = <&vcc_io>;
	gpio30-supply = <&vcc_io>;
	sdcard-supply = <&vccio_sd>;
	wifi-supply = <&vdd1v8_wl>;
	status = "okay";
};

&i2c0 {
	status = "okay";

	rk808: pmic@1b {
		compatible = "rockchip,rk808";
		reg = <0x1b>;
		interrupts-extended = <&gpio0 RK_PA5 IRQ_TYPE_LEVEL_LOW>;
		clock-output-names = "rk808-clkout1", "xin32k_wifi_bt";
		vcc1-supply = <&vcc_sys>;
		vcc2-supply = <&vcc_sys>;
		vcc3-supply = <&vcc_sys>;
		vcc4-supply = <&vcc_sys>;
		vcc6-supply = <&vcc_sys>;
		vcc7-supply = <&vcc_sys>;
		vcc8-supply = <&vcc_io>;
		vcc9-supply = <&vcc_sys>;
		vcc10-supply = <&vcc_sys>;
		vcc11-supply = <&vcc_sys>;
		vcc12-supply = <&vcc_io>;
		pinctrl-names = "default";
		pinctrl-0 = <&pmic_int &pmic_sleep>;
		system-power-controller;
		wakeup-source;
		#clock-cells = <1>;

		regulators {
			vdd_cpu: DCDC_REG1 {
				regulator-name = "vdd_cpu";
				regulator-min-microvolt = <700000>;
				regulator-max-microvolt = <1350000>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			vdd_log: DCDC_REG2 {
				regulator-name = "vdd_log";
				regulator-min-microvolt = <1100000>;
				regulator-max-microvolt = <1500000>;
				regulator-ramp-delay = <6001>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-suspend-microvolt = <1000000>;
					regulator-on-in-suspend;
				};
			};

			vcc_ddr: DCDC_REG3 {
				regulator-name = "vcc_ddr";
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-on-in-suspend;
				};
			};

			vcc_io: DCDC_REG4 {
				regulator-name = "vcc_io";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-suspend-microvolt = <3300000>;
					regulator-on-in-suspend;
				};
			};

			vcca1v8_codec: LDO_REG1 {
				regulator-name = "vcca1v8_codec";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			vcca3v0_codec: LDO_REG2 {
				regulator-name = "vcca3v0_codec";
				regulator-min-microvolt = <3000000>;
				regulator-max-microvolt = <3000000>;
				regulator-always-on;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			vdd_10: LDO_REG3 {
				regulator-name = "vdd_10";
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1000000>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-suspend-microvolt = <1000000>;
					regulator-on-in-suspend;
				};
			};

			vdd1v8_wl: LDO_REG4 {
				regulator-name = "vdd1v8_wl";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			vccio_sd: LDO_REG5 {
				regulator-name = "vccio_sd";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			vdd10_lcd: LDO_REG6 {
				regulator-name = "vdd10_lcd";
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1000000>;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			vcc_18: LDO_REG7 {
				regulator-name = "vcc_18";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;

				regulator-state-mem {
					regulator-suspend-microvolt = <1800000>;
					regulator-on-in-suspend;
				};
			};

			vcc18_lcd: LDO_REG8 {
				regulator-name = "vcc18_lcd";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};

			vcc_tp: SWITCH_REG1 {
				regulator-name = "vcc_tp";

				regulator-state-mem {
					regulator-on-in-suspend;
				};
			};

			vcc_sd: SWITCH_REG2 {
				regulator-name = "vcc_sd";

				regulator-state-mem {
					regulator-off-in-suspend;
				};
			};
		};
	};
};

&i2c1 {
	status = "okay";

	codec@1c {
		compatible = "realtek,rt5640";
		reg = <0x1c>;
		clocks = <&cru SCLK_I2S_8CH_OUT>;
		clock-names = "mclk";
		realtek,dmic1-data-pin = <RT5640_DMIC1_DATA_PIN_IN1P>;
		realtek,dmic2-data-pin = <RT5640_DMIC2_DATA_PIN_IN1N>;
		realtek,in1-differential;
		#sound-dai-cells = <0>;

		port {
			rt5640_p0_0: endpoint {
				remote-endpoint = <&i2s_8ch_p0_0>;
			};
		};
	};

	hym8563: rtc@51 {
		compatible = "haoyu,hym8563";
		reg = <0x51>;
		clock-output-names = "xin32k";
		#clock-cells = <0>;
	};
};

&i2s_8ch {
	status = "okay";

	i2s_8ch_p0: port {
		i2s_8ch_p0_0: endpoint {
			dai-format = "i2s";
			mclk-fs = <256>;
			remote-endpoint = <&rt5640_p0_0>;
		};
	};
};

&pinctrl {
	bluetooth {
		bt_host_wake: bt-host-wake {
			rockchip,pins = <3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		bt_reg_on: bt-reg-on {
			rockchip,pins = <3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
		};

		bt_wake: bt-wake {
			rockchip,pins = <3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	leds {
		power_led: power-led {
			rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	phy {
		phy_rst: phy-rst {
			rockchip,pins = <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	pmic {
		pmic_int: pmic-int {
			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
		};

		pmic_sleep: pmic-sleep {
			rockchip,pins = <0 RK_PA0 2 &pcfg_pull_none>;
		};
	};

	sdio-pwrseq {
		wifi_reg_on: wifi-reg-on {
			rockchip,pins = <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	sound {
		hp_det: hp-det {
			rockchip,pins = <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	usb {
		host_vbus_drv: host-vbus-drv {
			rockchip,pins = <3 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		otg_vbus_drv: otg-vbus-drv {
			rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	wifi {
		wifi_host_wake: wifi-host-wake {
			rockchip,pins = <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};
};

&pmu_io_domains {
	pmu-supply = <&vcc_io>;
	vop-supply = <&vcc_io>;
	status = "okay";
};

&saradc {
	vref-supply = <&vcc_18>;
	status = "okay";
};

&sdio0 {
	bus-width = <4>;
	mmc-pwrseq = <&sdio_pwrseq>;
	vmmc-supply = <&vcc_io>;
	vqmmc-supply = <&vdd1v8_wl>;
	assigned-clocks = <&cru SCLK_SDIO0>;
	assigned-clock-parents = <&cru PLL_CPLL>;
	pinctrl-names = "default";
	pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
	cap-sd-highspeed;
	cap-sdio-irq;
	no-sd;
	no-mmc;
	non-removable;
	sd-uhs-sdr104;
	#address-cells = <1>;
	#size-cells = <0>;
	status = "okay";

	wifi@1 {
		compatible = "brcm,bcm43455-fmac", "brcm,bcm4329-fmac";
		reg = <1>;
		interrupts-extended = <&gpio3 RK_PA6 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-names = "host-wake";
		pinctrl-names = "default";
		pinctrl-0 = <&wifi_host_wake>;
	};
};

&sdmmc {
	bus-width = <4>;
	vmmc-supply = <&vcc_sd>;
	vqmmc-supply = <&vccio_sd>;
	pinctrl-names = "default";
	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4 &sdmmc_cd>;
	cap-sd-highspeed;
	disable-wp;
	no-mmc;
	no-sdio;
	sd-uhs-sdr12;
	sd-uhs-sdr25;
	sd-uhs-sdr50;
	sd-uhs-sdr104;
	status = "okay";
};

&tsadc {
	rockchip,hw-tshut-mode = <0>;
	rockchip,hw-tshut-polarity = <1>;
	status = "okay";
};

&uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
	uart-has-rtscts;
	status = "okay";

	bluetooth {
		compatible = "brcm,bcm4345c5";
		interrupts-extended = <&gpio3 RK_PA7 GPIO_ACTIVE_HIGH>;
		interrupt-names = "host-wakeup";
		clocks = <&rk808 RK808_CLKOUT1>;
		clock-names = "lpo";
		device-wakeup-gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_HIGH>;
		shutdown-gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_HIGH>;
		max-speed = <15000000>;
		vbat-supply = <&vcc_io>;
		vddio-supply = <&vdd1v8_wl>;
		pinctrl-names = "default";
		pinctrl-0 = <&bt_host_wake &bt_wake &bt_reg_on>;
	};
};

&uart1 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart1_xfer>;
	status = "okay";
};

&uart4 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart4_xfer>;
	status = "okay";
};

&usb_host0_ehci {
	#address-cells = <1>;
	#size-cells = <0>;
	status = "okay";

	hub@1 {
		compatible = "usb5e3,610";
		reg = <1>;
		vdd-supply = <&hub_avdd>;
	};
};

&usb_otg {
	vbus-supply = <&vcc_otg>;
	vusb_a-supply = <&vcc_io>;
	vusb_d-supply = <&vdd10_usb>;
	status = "okay";
};

&wdt {
	status = "okay";
};
