// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2017 Andreas Färber
 */

/dts-v1/;

#include "meson-gxbb.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/sound/meson-aiu.h>

/ {
	compatible = "friendlyarm,nanopi-k2", "amlogic,meson-gxbb";
	model = "FriendlyARM NanoPi K2";

	aliases {
		serial0 = &uart_AO;
		ethernet0 = &ethmac;
	};

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

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

	leds {
		compatible = "gpio-leds";

		led-stat {
			label = "nanopi-k2:blue:stat";
			gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_HIGH>;
			default-state = "on";
			panic-indicator;
		};
	};

	vdd_5v: regulator-vdd-5v {
		compatible = "regulator-fixed";
		regulator-name = "VDD_5V";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
	};

	vddio_ao18: regulator-vddio-ao18 {
		compatible = "regulator-fixed";
		regulator-name = "VDDIO_AO18";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
	};

	vddio_ao3v3: regulator-vddio-ao3v3 {
		compatible = "regulator-fixed";
		regulator-name = "VDDIO_AO3.3V";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
	};

	vddio_tf: regulator-vddio-tf {
		compatible = "regulator-gpio";

		regulator-name = "VDDIO_TF";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <3300000>;

		gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>;
		gpios-states = <0>;

		states = <3300000 0>,
		         <1800000 1>;

		regulator-settling-time-up-us = <100>;
		regulator-settling-time-down-us = <5000>;
	};

	wifi_32k: wifi-32k {
		compatible = "pwm-clock";
		#clock-cells = <0>;
		clock-frequency = <32768>;
		pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
	};

	sdio_pwrseq: sdio-pwrseq {
		compatible = "mmc-pwrseq-simple";
		reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
		clocks = <&wifi_32k>;
		clock-names = "ext_clock";
	};

	vcc1v8: regulator-vcc1v8 {
		compatible = "regulator-fixed";
		regulator-name = "VCC1.8V";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
	};

	vcc3v3: regulator-vcc3v3 {
		compatible = "regulator-fixed";
		regulator-name = "VCC3.3V";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
	};

	emmc_pwrseq: emmc-pwrseq {
		compatible = "mmc-pwrseq-emmc";
		reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
	};

	/* CVBS is available on CON1 pin 36, disabled by default */
	cvbs-connector {
		compatible = "composite-video-connector";
		status = "disabled";

		port {
			cvbs_connector_in: endpoint {
				remote-endpoint = <&cvbs_vdac_out>;
			};
		};
	};

	hdmi-connector {
		compatible = "hdmi-connector";
		type = "a";

		port {
			hdmi_connector_in: endpoint {
				remote-endpoint = <&hdmi_tx_tmds_out>;
			};
		};
	};

	sound {
		compatible = "amlogic,gx-sound-card";
		model = "NANOPI-K2";
		assigned-clocks = <&clkc CLKID_MPLL0>,
				  <&clkc CLKID_MPLL1>,
				  <&clkc CLKID_MPLL2>;
		assigned-clock-parents = <0>, <0>, <0>;
		assigned-clock-rates = <294912000>,
				       <270950400>,
				       <393216000>;
		status = "okay";

		dai-link-0 {
			sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>;
		};

		dai-link-1 {
			sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>;
			dai-format = "i2s";
			mclk-fs = <256>;

			codec-0 {
				sound-dai = <&aiu AIU_HDMI CTRL_I2S>;
			};
		};

		dai-link-2 {
			sound-dai = <&aiu AIU_HDMI CTRL_OUT>;

			codec-0 {
				sound-dai = <&hdmi_tx>;
			};
		};
	};
};

&aiu {
	status = "okay";
};

&cec_AO {
	status = "okay";
	pinctrl-0 = <&ao_cec_pins>;
	pinctrl-names = "default";
	hdmi-phandle = <&hdmi_tx>;
};

&cvbs_vdac_port {
	cvbs_vdac_out: endpoint {
		remote-endpoint = <&cvbs_connector_in>;
	};
};

&ethmac {
	status = "okay";
	pinctrl-0 = <&eth_rgmii_pins>;
	pinctrl-names = "default";

	phy-handle = <&eth_phy0>;
	phy-mode = "rgmii";

	amlogic,tx-delay-ns = <2>;

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

		eth_phy0: ethernet-phy@0 {
			/* Realtek RTL8211F (0x001cc916) */
			reg = <0>;

			reset-assert-us = <10000>;
			reset-deassert-us = <80000>;
			reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;

			interrupt-parent = <&gpio_intc>;
			/* MAC_INTR on GPIOZ_15 */
			interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
		};
	};
};

&hdmi_tx {
	status = "okay";
	pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
	pinctrl-names = "default";
};

&hdmi_tx_tmds_port {
	hdmi_tx_tmds_out: endpoint {
		remote-endpoint = <&hdmi_connector_in>;
	};
};

&ir {
	status = "okay";
	pinctrl-0 = <&remote_input_ao_pins>;
	pinctrl-names = "default";
};

&gpio_ao {
	gpio-line-names = "UART TX", "UART RX", "Power Control", "Power Key In",
			  "VCCK En", "CON1 Header Pin31",
			  "I2S Header Pin6", "IR In", "I2S Header Pin7",
			  "I2S Header Pin3", "I2S Header Pin4",
			  "I2S Header Pin5", "HDMI CEC", "SYS LED",
			  /* GPIO_TEST_N */
			  "";
};

&gpio {
	gpio-line-names = /* Bank GPIOZ */
			  "Eth MDIO", "Eth MDC", "Eth RGMII RX Clk",
			  "Eth RX DV", "Eth RX D0", "Eth RX D1", "Eth RX D2",
			  "Eth RX D3", "Eth RGMII TX Clk", "Eth TX En",
			  "Eth TX D0", "Eth TX D1", "Eth TX D2", "Eth TX D3",
			  "Eth PHY nRESET", "Eth PHY Intc",
			  /* Bank GPIOH */
			  "HDMI HPD", "HDMI DDC SDA", "HDMI DDC SCL",
			  "CON1 Header Pin33",
			  /* Bank BOOT */
			  "eMMC D0", "eMMC D1", "eMMC D2", "eMMC D3", "eMMC D4",
			  "eMMC D5", "eMMC D6", "eMMC D7", "eMMC Clk",
			  "eMMC Reset", "eMMC CMD",
			  "", "", "", "", "eMMC DS",
			  "", "",
			  /* Bank CARD */
			  "SDCard D1", "SDCard D0", "SDCard CLK", "SDCard CMD",
			  "SDCard D3", "SDCard D2", "SDCard Det",
			  /* Bank GPIODV */
			  "", "", "", "", "", "", "", "", "", "", "", "", "",
			  "", "", "", "", "", "", "", "", "", "", "",
			  "I2C A SDA", "I2C A SCK", "I2C B SDA", "I2C B SCK",
			  "VDDEE Regulator", "VCCK Regulator",
			  /* Bank GPIOY */
			  "CON1 Header Pin7", "CON1 Header Pin11",
			  "CON1 Header Pin13", "CON1 Header Pin15",
			  "CON1 Header Pin18", "CON1 Header Pin19",
			  "CON1 Header Pin22", "CON1 Header Pin21",
			  "CON1 Header Pin24", "CON1 Header Pin23",
			  "CON1 Header Pin26", "CON1 Header Pin29",
			  "CON1 Header Pin32", "CON1 Header Pin8",
			  "CON1 Header Pin10", "CON1 Header Pin16",
			  "CON1 Header Pin12",
			  /* Bank GPIOX */
			  "WIFI SDIO D0", "WIFI SDIO D1", "WIFI SDIO D2",
			  "WIFI SDIO D3", "WIFI SDIO CLK", "WIFI SDIO CMD",
			  "WIFI Power Enable", "WIFI WAKE HOST",
			  "Bluetooth PCM DOUT", "Bluetooth PCM DIN",
			  "Bluetooth PCM SYNC", "Bluetooth PCM CLK",
			  "Bluetooth UART TX", "Bluetooth UART RX",
			  "Bluetooth UART CTS", "Bluetooth UART RTS",
			  "", "", "", "WIFI 32K", "Bluetooth Enable",
			  "Bluetooth WAKE HOST", "",
			  /* Bank GPIOCLK */
			  "", "CON1 Header Pin35", "", "";
};

&pwm_ef {
	status = "okay";
	pinctrl-0 = <&pwm_e_pins>;
	pinctrl-names = "default";
	clocks = <&clkc CLKID_FCLK_DIV4>;
	clock-names = "clkin0";
};

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

/* SDIO */
&sd_emmc_a {
	status = "okay";
	pinctrl-0 = <&sdio_pins>, <&sdio_irq_pins>;
	pinctrl-1 = <&sdio_clk_gate_pins>;
	pinctrl-names = "default", "clk-gate";
	#address-cells = <1>;
	#size-cells = <0>;

	bus-width = <4>;
	cap-sd-highspeed;
	max-frequency = <50000000>;

	non-removable;
	disable-wp;

	/* WiFi firmware requires power to be kept while in suspend */
	keep-power-in-suspend;

	mmc-pwrseq = <&sdio_pwrseq>;

	vmmc-supply = <&vddio_ao3v3>;
	vqmmc-supply = <&vddio_ao18>;

	brcmf: wifi@1 {
		compatible = "brcm,bcm4329-fmac";
		reg = <1>;
	};
};

/* SD */
&sd_emmc_b {
	status = "okay";
	pinctrl-0 = <&sdcard_pins>;
	pinctrl-1 = <&sdcard_clk_gate_pins>;
	pinctrl-names = "default", "clk-gate";

	bus-width = <4>;
	cap-sd-highspeed;
	sd-uhs-sdr12;
	sd-uhs-sdr25;
	sd-uhs-sdr50;
	sd-uhs-ddr50;
	max-frequency = <100000000>;
	disable-wp;

	cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>;

	vmmc-supply = <&vddio_ao3v3>;
	vqmmc-supply = <&vddio_tf>;
};

/* eMMC */
&sd_emmc_c {
	status = "disabled";
	pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
	pinctrl-1 = <&emmc_clk_gate_pins>;
	pinctrl-names = "default", "clk-gate";

	bus-width = <8>;
	max-frequency = <200000000>;
	non-removable;
	disable-wp;
	cap-mmc-highspeed;
	mmc-ddr-1_8v;
	mmc-hs200-1_8v;

	mmc-pwrseq = <&emmc_pwrseq>;
	vmmc-supply = <&vcc3v3>;
	vqmmc-supply = <&vcc1v8>;
};

/* DBG_UART */
&uart_AO {
	status = "okay";
	pinctrl-0 = <&uart_ao_a_pins>;
	pinctrl-names = "default";
};

/* Bluetooth on AP6212 */
&uart_A {
	status = "okay";
	pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
	pinctrl-names = "default";
	uart-has-rtscts;

	bluetooth {
		compatible = "brcm,bcm43438-bt";
		clocks = <&wifi_32k>;
		clock-names = "lpo";
		vbat-supply = <&vddio_ao3v3>;
		vddio-supply = <&vddio_ao18>;
		host-wakeup-gpios = <&gpio GPIOX_21 GPIO_ACTIVE_HIGH>;
		shutdown-gpios = <&gpio GPIOX_20 GPIO_ACTIVE_HIGH>;
	};
};

/* 40-pin CON1 */
&uart_C {
	status = "disabled";
	pinctrl-0 = <&uart_c_pins>;
	pinctrl-names = "default";
};

&usb0_phy {
	status = "okay";
	phy-supply = <&vdd_5v>;
};

&usb1_phy {
	status = "okay";
};

&usb0 {
	status = "okay";
};

&usb1 {
	status = "okay";
};
