// SPDX-License-Identifier: GPL-2.0-or-later OR MIT

#include "qcom-ipq4019.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

/ {
	model = "ALFA Network AP120C-AC";
	compatible = "alfa-network,ap120c-ac", "qcom,ipq4018";

	keys {
		compatible = "gpio-keys";

		key-reset {
			label = "reset";
			gpios = <&tlmm 63 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_RESTART>;
		};
	};
};

&tlmm {
	i2c0_pins: i2c0_pinmux {
		mux_i2c {
			function = "blsp_i2c0";
			pins = "gpio58", "gpio59";
			drive-strength = <16>;
			bias-disable;
		};
	};

	mdio_pins: mdio_pinmux {
		mux_mdio {
			pins = "gpio53";
			function = "mdio";
			bias-pull-up;
		};

		mux_mdc {
			pins = "gpio52";
			function = "mdc";
			bias-pull-up;
		};
	};

	serial0_pins: serial0_pinmux {
		mux_uart {
			pins = "gpio60", "gpio61";
			function = "blsp_uart0";
			bias-disable;
		};
	};

	spi0_pins: spi0_pinmux {
		mux_spi {
			function = "blsp_spi0";
			pins = "gpio55", "gpio56", "gpio57";
			drive-strength = <12>;
			bias-disable;
		};

		mux_cs {
			function = "gpio";
			pins = "gpio54", "gpio4";
			drive-strength = <2>;
			bias-disable;
			output-high;
		};
	};

	usb-power {
		line-name = "USB-power";
		gpios = <1 GPIO_ACTIVE_HIGH>;
		gpio-hog;
		output-high;
	};
};

&watchdog {
	status = "okay";
};

&prng {
	status = "okay";
};

&blsp_dma {
	status = "okay";
};

&blsp1_i2c3 {
	status = "okay";

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

	tpm@29 {
		compatible = "atmel,at97sc3204t";
		reg = <0x29>;
	};
};

&blsp1_spi1 {
	status = "okay";

	pinctrl-0 = <&spi0_pins>;
	pinctrl-names = "default";
	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>, <&tlmm 4 GPIO_ACTIVE_HIGH>;

	flash@0 {
		compatible = "jedec,spi-nor";
		reg = <0>;
		spi-max-frequency = <24000000>;

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

			partition@0 {
				label = "SBL1";
				reg = <0x00000000 0x00040000>;
				read-only;
			};

			partition@40000 {
				label = "MIBIB";
				reg = <0x00040000 0x00020000>;
				read-only;
			};

			partition@60000 {
				label = "QSEE";
				reg = <0x00060000 0x00060000>;
				read-only;
			};

			partition@c0000 {
				label = "CDT";
				reg = <0x000c0000 0x00010000>;
				read-only;
			};

			partition@d0000 {
				label = "DDRPARAMS";
				reg = <0x000d0000 0x00010000>;
				read-only;
			};

			partition@e0000 {
				label = "u-boot-env";
				reg = <0x000e0000 0x00010000>;
			};

			partition@f0000 {
				label = "u-boot";
				reg = <0x000f0000 0x00080000>;
				read-only;
			};

			partition@170000 {
				label = "ART";
				reg = <0x00170000 0x00010000>;
				read-only;
			};

			partition@180000 {
				label = "priv_data1";
				reg = <0x00180000 0x00010000>;
				read-only;
			};

			partition@190000 {
				label = "priv_data2";
				reg = <0x00190000 0x00010000>;
				read-only;
			};
		};
	};

	nand@1 {
		compatible = "spi-nand";
		reg = <1>;
		spi-max-frequency = <40000000>;

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

			partition@0 {
				label = "ubi1";
				reg = <0x00000000 0x04000000>;
			};

			partition@4000000 {
				label = "ubi2";
				reg = <0x04000000 0x04000000>;
			};
		};
	};
};

&blsp1_uart1 {
	status = "okay";

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

&cryptobam {
	status = "okay";
};

&crypto {
	status = "okay";
};

&mdio {
	status = "okay";

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

&wifi0 {
	status = "okay";
};

&wifi1 {
	status = "okay";
	qcom,ath10k-calibration-variant = "ALFA-Network-AP120C-AC";
};

&usb3_hs_phy {
	status = "okay";
};

&usb3 {
	status = "okay";

	dwc3@8a00000 {
		phys = <&usb3_hs_phy>;
		phy-names = "usb2-phy";
	};
};

&usb2_hs_phy {
	status = "okay";
};

&usb2 {
	status = "okay";
};
