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

	keys {
		compatible = "gpio-keys";

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