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

	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";
		gpio = <&gpb 25 GPIO_ACTIVE_LOW>;
		enable-active-high;
	};

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