/*
 * Copyright (c) 2017 Andreas Färber
 *
 * This file is dual-licensed: you can use it either under the terms
 * of the GPL or the X11 license, at your option. Note that this dual
 * licensing only applies to this file, and not this project as a
 * whole.
 *
 *  a) This library is free software; you can redistribute it and/or
 *     modify it under the terms of the GNU General Public License as
 *     published by the Free Software Foundation; either version 2 of the
 *     License, or (at your option) any later version.
 *
 *     This library is distributed in the hope that it will be useful,
 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *     GNU General Public License for more details.
 *
 * Or, alternatively,
 *
 *  b) Permission is hereby granted, free of charge, to any person
 *     obtaining a copy of this software and associated documentation
 *     files (the "Software"), to deal in the Software without
 *     restriction, including without limitation the rights to use,
 *     copy, modify, merge, publish, distribute, sublicense, and/or
 *     sell copies of the Software, and to permit persons to whom the
 *     Software is furnished to do so, subject to the following
 *     conditions:
 *
 *     The above copyright notice and this permission notice shall be
 *     included in all copies or substantial portions of the Software.
 *
 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 *     OTHER DEALINGS IN THE SOFTWARE.
 *
 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
 */

/dts-v1/;

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

/ {
	compatible = "friendlyarm,nanopi-k2", "amlogic,meson-gxbb";

	aliases {
		serial0 = &uart_AO;
	};

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

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

	leds {
		compatible = "gpio-leds";

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

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

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

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

	snps,reset-gpio = <&gpio GPIOZ_14 0>;
	snps,reset-delays-us = <0 10000 1000000>;
	snps,reset-active-low;

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

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

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

&pinctrl_aobus {
	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";
};

&pinctrl_periphs {
	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", "", "",
			  /* GPIO_TEST_N */
			  "";
};

&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 = <200000000>;

	non-removable;
	disable-wp;

	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-sdr104;
	max-frequency = <200000000>;
	disable-wp;

	cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>;
	cd-inverted;

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

/* eMMC */
&sd_emmc_c {
	status = "disabled";
	pinctrl-0 = <&emmc_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 = "disabled";
	pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
	pinctrl-names = "default";
};

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