// SPDX-License-Identifier: GPL-2.0
/dts-v1/;

#include "jz4780.dtsi"
#include <dt-bindings/clock/ingenic,tcu.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/regulator/active-semi,8865-regulator.h>

/ {
	compatible = "img,ci20", "ingenic,jz4780";

	aliases {
		serial0 = &uart0;
		serial1 = &uart1;
		serial3 = &uart3;
		serial4 = &uart4;
	};

	chosen {
		stdout-path = &uart4;
	};

	memory {
		device_type = "memory";
		reg = <0x0 0x10000000
		       0x30000000 0x30000000>;
	};

	gpio-keys {
		compatible = "gpio-keys";

		sw1 {
			label = "ci20:sw1";
			linux,code = <KEY_F13>;
			gpios = <&gpd 17 GPIO_ACTIVE_HIGH>;
			wakeup-source;
		};
	};

	leds {
		compatible = "gpio-leds";

		led0 {
			label = "ci20:red:led0";
			gpios = <&gpc 3 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "none";
		};

		led1 {
			label = "ci20:red:led1";
			gpios = <&gpc 2 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "nand-disk";
		};

		led2 {
			label = "ci20:red:led2";
			gpios = <&gpc 1 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "cpu1";
		};

		led3 {
			label = "ci20:red:led3";
			gpios = <&gpc 0 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "cpu0";
		};
	};

	eth0_power: fixedregulator@0 {
		compatible = "regulator-fixed";
		regulator-name = "eth0_power";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		gpio = <&gpb 25 GPIO_ACTIVE_LOW>;
		enable-active-high;
	};

	ir: ir {
		compatible = "gpio-ir-receiver";
		gpios = <&gpe 3 GPIO_ACTIVE_LOW>;
	};

	wlan0_power: fixedregulator@1 {
		compatible = "regulator-fixed";
		regulator-name = "wlan0_power";
		gpio = <&gpb 19 GPIO_ACTIVE_LOW>;
		enable-active-high;
	};
};

&ext {
	clock-frequency = <48000000>;
};

&mmc0 {
	status = "okay";

	bus-width = <4>;
	max-frequency = <50000000>;

	pinctrl-names = "default";
	pinctrl-0 = <&pins_mmc0>;

	cd-gpios = <&gpf 20 GPIO_ACTIVE_LOW>;
};

&mmc1 {
	status = "okay";

	bus-width = <4>;
	max-frequency = <50000000>;
	non-removable;

	pinctrl-names = "default";
	pinctrl-0 = <&pins_mmc1>;

	brcmf: wifi@1 {
/*		reg = <4>;*/
		compatible = "brcm,bcm4330-fmac";
		vcc-supply = <&wlan0_power>;
		device-wakeup-gpios = <&gpd 9 GPIO_ACTIVE_HIGH>;
		shutdown-gpios = <&gpf 7 GPIO_ACTIVE_LOW>;
	};
};

&uart0 {
	status = "okay";

	pinctrl-names = "default";
	pinctrl-0 = <&pins_uart0>;
};

&uart1 {
	status = "okay";

	pinctrl-names = "default";
	pinctrl-0 = <&pins_uart1>;
};

&uart2 {
	status = "okay";

	pinctrl-names = "default";
	pinctrl-0 = <&pins_uart2>;
	uart-has-rtscts;

	bluetooth {
		compatible = "brcm,bcm4330-bt";
		reset-gpios = <&gpf 8 GPIO_ACTIVE_HIGH>;
		vcc-supply = <&wlan0_power>;
		device-wakeup-gpios = <&gpf 5 GPIO_ACTIVE_HIGH>;
		host-wakeup-gpios = <&gpf 6 GPIO_ACTIVE_HIGH>;
		shutdown-gpios = <&gpf 4 GPIO_ACTIVE_LOW>;
	};
};

&uart3 {
	status = "okay";

	pinctrl-names = "default";
	pinctrl-0 = <&pins_uart3>;
};

&uart4 {
	status = "okay";

	pinctrl-names = "default";
	pinctrl-0 = <&pins_uart4>;
};

&i2c0 {
	status = "okay";

	pinctrl-names = "default";
	pinctrl-0 = <&pins_i2c0>;

	clock-frequency = <400000>;

	act8600: act8600@5a {
		compatible = "active-semi,act8600";
		reg = <0x5a>;
		status = "okay";

		regulators {
			vddcore: SUDCDC1 {
				regulator-name = "DCDC_REG1";
				regulator-min-microvolt = <1100000>;
				regulator-max-microvolt = <1100000>;
				regulator-always-on;
			};
			vddmem: SUDCDC2 {
				regulator-name = "DCDC_REG2";
				regulator-min-microvolt = <1500000>;
				regulator-max-microvolt = <1500000>;
				regulator-always-on;
			};
			vcc_33: SUDCDC3 {
				regulator-name = "DCDC_REG3";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};
			vcc_50: SUDCDC4 {
				regulator-name = "SUDCDC_REG4";
				regulator-min-microvolt = <5000000>;
				regulator-max-microvolt = <5000000>;
				regulator-always-on;
			};
			vcc_25: LDO_REG5 {
				regulator-name = "LDO_REG5";
				regulator-min-microvolt = <2500000>;
				regulator-max-microvolt = <2500000>;
				regulator-always-on;
			};
			wifi_io: LDO_REG6 {
				regulator-name = "LDO_REG6";
				regulator-min-microvolt = <2500000>;
				regulator-max-microvolt = <2500000>;
				regulator-always-on;
			};
			vcc_28: LDO_REG7 {
				regulator-name = "LDO_REG7";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-always-on;
			};
			vcc_15: LDO_REG8 {
				regulator-name = "LDO_REG8";
				regulator-min-microvolt = <1500000>;
				regulator-max-microvolt = <1500000>;
				regulator-always-on;
			};
			vrtc_18: LDO_REG9 {
				regulator-name = "LDO_REG9";
				/* Despite the datasheet stating 3.3V
				 * for REG9 and the driver expecting that,
				 * REG9 outputs 1.8V.
				 * Likely the CI20 uses a proprietary
				 * factory programmed chip variant.
				 * Since this is a simple on/off LDO the
				 * exact values do not matter.
				 */
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};
			vcc_11: LDO_REG10 {
				regulator-name = "LDO_REG10";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <1200000>;
				regulator-always-on;
			};
		};
	};
};

&i2c1 {
	status = "okay";

	pinctrl-names = "default";
	pinctrl-0 = <&pins_i2c1>;

};

&i2c2 {
	status = "okay";

	pinctrl-names = "default";
	pinctrl-0 = <&pins_i2c2>;

};

&i2c3 {
	status = "okay";

	pinctrl-names = "default";
	pinctrl-0 = <&pins_i2c3>;

};

&i2c4 {
	status = "okay";

	pinctrl-names = "default";
	pinctrl-0 = <&pins_i2c4>;

	clock-frequency = <400000>;

		rtc@51 {
			compatible = "nxp,pcf8563";
			reg = <0x51>;

			interrupt-parent = <&gpf>;
			interrupts = <30 IRQ_TYPE_LEVEL_LOW>;
		};
};

&nemc {
	status = "okay";

	nandc: nand-controller@1 {
		compatible = "ingenic,jz4780-nand";
		reg = <1 0 0x1000000>;

		#address-cells = <1>;
		#size-cells = <0>;

		ingenic,bch-controller = <&bch>;

		ingenic,nemc-tAS = <10>;
		ingenic,nemc-tAH = <5>;
		ingenic,nemc-tBP = <10>;
		ingenic,nemc-tAW = <15>;
		ingenic,nemc-tSTRV = <100>;

		/*
		 * Only CLE/ALE are needed for the devices that are connected, rather
		 * than the full address line set.
		 */
		pinctrl-names = "default";
		pinctrl-0 = <&pins_nemc>;

		nand@1 {
			reg = <1>;

			nand-ecc-step-size = <1024>;
			nand-ecc-strength = <24>;
			nand-ecc-mode = "hw";
			nand-on-flash-bbt;

			pinctrl-names = "default";
			pinctrl-0 = <&pins_nemc_cs1>;

			partitions {
				compatible = "fixed-partitions";
				#address-cells = <2>;
				#size-cells = <2>;

				partition@0 {
					label = "u-boot-spl";
					reg = <0x0 0x0 0x0 0x800000>;
				};

				partition@800000 {
					label = "u-boot";
					reg = <0x0 0x800000 0x0 0x200000>;
				};

				partition@a00000 {
					label = "u-boot-env";
					reg = <0x0 0xa00000 0x0 0x200000>;
				};

				partition@c00000 {
					label = "boot";
					reg = <0x0 0xc00000 0x0 0x4000000>;
				};

				partition@4c00000 {
					label = "system";
					reg = <0x0 0x4c00000 0x1 0xfb400000>;
				};
			};
		};
	};

	dm9000@6 {
		compatible = "davicom,dm9000";
		davicom,no-eeprom;

		pinctrl-names = "default";
		pinctrl-0 = <&pins_nemc_cs6>;

		reg = <6 0 1   /* addr */
		       6 2 1>; /* data */

		ingenic,nemc-tAS = <15>;
		ingenic,nemc-tAH = <10>;
		ingenic,nemc-tBP = <20>;
		ingenic,nemc-tAW = <50>;
		ingenic,nemc-tSTRV = <100>;

		reset-gpios = <&gpf 12 GPIO_ACTIVE_HIGH>;
		vcc-supply = <&eth0_power>;

		interrupt-parent = <&gpe>;
		interrupts = <19 4>;
	};
};

&bch {
	status = "okay";
};

&pinctrl {
	pins_uart0: uart0 {
		function = "uart0";
		groups = "uart0-data";
		bias-disable;
	};

	pins_uart1: uart1 {
		function = "uart1";
		groups = "uart1-data";
		bias-disable;
	};

	pins_uart2: uart2 {
		function = "uart2";
		groups = "uart2-data", "uart2-hwflow";
		bias-disable;
	};

	pins_uart3: uart3 {
		function = "uart3";
		groups = "uart3-data", "uart3-hwflow";
		bias-disable;
	};

	pins_uart4: uart4 {
		function = "uart4";
		groups = "uart4-data";
		bias-disable;
	};

	pins_i2c0: i2c0 {
		function = "i2c0";
		groups = "i2c0-data";
		bias-disable;
	};

	pins_i2c1: i2c1 {
		function = "i2c1";
		groups = "i2c1-data";
		bias-disable;
	};

	pins_i2c2: i2c2 {
		function = "i2c2";
		groups = "i2c2-data";
		bias-disable;
	};

	pins_i2c3: i2c3 {
		function = "i2c3";
		groups = "i2c3-data";
		bias-disable;
	};

	pins_i2c4: i2c4 {
		function = "i2c4";
		groups = "i2c4-data-e";
		bias-disable;
	};

	pins_nemc: nemc {
		function = "nemc";
		groups = "nemc-data", "nemc-cle-ale", "nemc-rd-we", "nemc-frd-fwe";
		bias-disable;
	};

	pins_nemc_cs1: nemc-cs1 {
		function = "nemc-cs1";
		groups = "nemc-cs1";
		bias-disable;
	};

	pins_nemc_cs6: nemc-cs6 {
		function = "nemc-cs6";
		groups = "nemc-cs6";
		bias-disable;
	};

	pins_mmc0: mmc0 {
		function = "mmc0";
		groups = "mmc0-1bit-e", "mmc0-4bit-e";
		bias-disable;
	};

	pins_mmc1: mmc1 {
		function = "mmc1";
		groups = "mmc1-1bit-d", "mmc1-4bit-d";
		bias-disable;
	};
};

&tcu {
	/* 3 MHz for the system timer and clocksource */
	assigned-clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER1>;
	assigned-clock-rates = <3000000>, <3000000>;
};
