/*
 * Copyright 2017 Sean Wang <sean.wang@mediatek.com>
 *
 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
 */

/dts-v1/;
#include <dt-bindings/input/input.h>
#include "mt7623.dtsi"
#include "mt6323.dtsi"

/ {
	model = "Bananapi BPI-R2";
	compatible = "bananapi,bpi-r2", "mediatek,mt7623";

	aliases {
		serial2 = &uart2;
	};

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

	cpus {
		cpu@0 {
			proc-supply = <&mt6323_vproc_reg>;
		};

		cpu@1 {
			proc-supply = <&mt6323_vproc_reg>;
		};

		cpu@2 {
			proc-supply = <&mt6323_vproc_reg>;
		};

		cpu@3 {
			proc-supply = <&mt6323_vproc_reg>;
		};
	};

	reg_3p3v: regulator-3p3v {
		compatible = "regulator-fixed";
		regulator-name = "fixed-3.3V";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-boot-on;
		regulator-always-on;
	};

	reg_5v: regulator-5v {
		compatible = "regulator-fixed";
		regulator-name = "fixed-5V";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		regulator-boot-on;
		regulator-always-on;
	};

	gpio_keys {
		compatible = "gpio-keys";
		pinctrl-names = "default";
		pinctrl-0 = <&key_pins_a>;

		factory {
			label = "factory";
			linux,code = <BTN_0>;
			gpios = <&pio 256 GPIO_ACTIVE_LOW>;
		};

		wps {
			label = "wps";
			linux,code = <KEY_WPS_BUTTON>;
			gpios = <&pio 257 GPIO_ACTIVE_HIGH>;
		};
	};

	leds {
		compatible = "gpio-leds";
		pinctrl-names = "default";
		pinctrl-0 = <&led_pins_a>;

		blue {
			label = "bpi-r2:pio:blue";
			gpios = <&pio 241 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		green {
			label = "bpi-r2:pio:green";
			gpios = <&pio 240 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		red {
			label = "bpi-r2:pio:red";
			gpios = <&pio 239 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};
	};

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

&cir {
	pinctrl-names = "default";
	pinctrl-0 = <&cir_pins_a>;
	status = "okay";
};

&crypto {
	status = "okay";
};

&eth {
	status = "okay";

	gmac0: mac@0 {
		compatible = "mediatek,eth-mac";
		reg = <0>;
		phy-mode = "trgmii";

		fixed-link {
			speed = <1000>;
			full-duplex;
			pause;
		};
	};

	mdio: mdio-bus {
		#address-cells = <1>;
		#size-cells = <0>;

		switch@0 {
			compatible = "mediatek,mt7530";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0>;
			pinctrl-names = "default";
			reset-gpios = <&pio 33 0>;
			core-supply = <&mt6323_vpa_reg>;
			io-supply = <&mt6323_vemc3v3_reg>;

			ports {
				#address-cells = <1>;
				#size-cells = <0>;
				reg = <0>;

				port@0 {
					reg = <0>;
					label = "wan";
				};

				port@1 {
					reg = <1>;
					label = "lan0";
				};

				port@2 {
					reg = <2>;
					label = "lan1";
				};

				port@3 {
					reg = <3>;
					label = "lan2";
				};

				port@4 {
					reg = <4>;
					label = "lan3";
				};

				port@6 {
					reg = <6>;
					label = "cpu";
					ethernet = <&gmac0>;
					phy-mode = "trgmii";

					fixed-link {
						speed = <1000>;
						full-duplex;
					};
				};
			};
		};
	};
};

&i2c0 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c0_pins_a>;
	status = "okay";
};

&i2c1 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c1_pins_a>;
	status = "okay";
};

&mmc0 {
	pinctrl-names = "default", "state_uhs";
	pinctrl-0 = <&mmc0_pins_default>;
	pinctrl-1 = <&mmc0_pins_uhs>;
	status = "okay";
	bus-width = <8>;
	max-frequency = <50000000>;
	cap-mmc-highspeed;
	vmmc-supply = <&mt6323_vemc3v3_reg>;
	vqmmc-supply = <&mt6323_vio18_reg>;
	non-removable;
};

&mmc1 {
	pinctrl-names = "default", "state_uhs";
	pinctrl-0 = <&mmc1_pins_default>;
	pinctrl-1 = <&mmc1_pins_uhs>;
	status = "okay";
	bus-width = <4>;
	max-frequency = <50000000>;
	cap-sd-highspeed;
	cd-gpios = <&pio 261 GPIO_ACTIVE_LOW>;
	vmmc-supply = <&mt6323_vmch_reg>;
	vqmmc-supply = <&mt6323_vio18_reg>;
};

&pio {
	cir_pins_a:cir@0 {
		pins_cir {
			pinmux = <MT7623_PIN_46_IR_FUNC_IR>;
			bias-disable;
		};
	};

	i2c0_pins_a: i2c@0 {
		pins_i2c0 {
			pinmux = <MT7623_PIN_75_SDA0_FUNC_SDA0>,
				 <MT7623_PIN_76_SCL0_FUNC_SCL0>;
			bias-disable;
		};
	};

	i2c1_pins_a: i2c@1 {
		pin_i2c1 {
			pinmux = <MT7623_PIN_57_SDA1_FUNC_SDA1>,
				 <MT7623_PIN_58_SCL1_FUNC_SCL1>;
			bias-disable;
		};
	};

	i2s0_pins_a: i2s@0 {
		pin_i2s0 {
			pinmux = <MT7623_PIN_49_I2S0_DATA_FUNC_I2S0_DATA>,
				 <MT7623_PIN_72_I2S0_DATA_IN_FUNC_I2S0_DATA_IN>,
				 <MT7623_PIN_73_I2S0_LRCK_FUNC_I2S0_LRCK>,
				 <MT7623_PIN_74_I2S0_BCK_FUNC_I2S0_BCK>,
				 <MT7623_PIN_126_I2S0_MCLK_FUNC_I2S0_MCLK>;
			drive-strength = <MTK_DRIVE_12mA>;
			bias-pull-down;
		};
	};

	i2s1_pins_a: i2s@1 {
		pin_i2s1 {
			pinmux = <MT7623_PIN_33_I2S1_DATA_FUNC_I2S1_DATA>,
				 <MT7623_PIN_34_I2S1_DATA_IN_FUNC_I2S1_DATA_IN>,
				 <MT7623_PIN_35_I2S1_BCK_FUNC_I2S1_BCK>,
				 <MT7623_PIN_36_I2S1_LRCK_FUNC_I2S1_LRCK>,
				 <MT7623_PIN_37_I2S1_MCLK_FUNC_I2S1_MCLK>;
			drive-strength = <MTK_DRIVE_12mA>;
			bias-pull-down;
		};
	};

	key_pins_a: keys@0 {
		pins_keys {
			pinmux = <MT7623_PIN_256_GPIO256_FUNC_GPIO256>,
				 <MT7623_PIN_257_GPIO257_FUNC_GPIO257> ;
			input-enable;
		};
	};

	led_pins_a: leds@0 {
		pins_leds {
			pinmux = <MT7623_PIN_239_EXT_SDIO0_FUNC_GPIO239>,
				 <MT7623_PIN_240_EXT_XCS_FUNC_GPIO240>,
				 <MT7623_PIN_241_EXT_SCK_FUNC_GPIO241>;
		};
	};

	mmc0_pins_default: mmc0default {
		pins_cmd_dat {
			pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_MSDC0_DAT7>,
				 <MT7623_PIN_112_MSDC0_DAT6_FUNC_MSDC0_DAT6>,
				 <MT7623_PIN_113_MSDC0_DAT5_FUNC_MSDC0_DAT5>,
				 <MT7623_PIN_114_MSDC0_DAT4_FUNC_MSDC0_DAT4>,
				 <MT7623_PIN_118_MSDC0_DAT3_FUNC_MSDC0_DAT3>,
				 <MT7623_PIN_119_MSDC0_DAT2_FUNC_MSDC0_DAT2>,
				 <MT7623_PIN_120_MSDC0_DAT1_FUNC_MSDC0_DAT1>,
				 <MT7623_PIN_121_MSDC0_DAT0_FUNC_MSDC0_DAT0>,
				 <MT7623_PIN_116_MSDC0_CMD_FUNC_MSDC0_CMD>;
			input-enable;
			bias-pull-up;
		};

		pins_clk {
			pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_MSDC0_CLK>;
			bias-pull-down;
		};

		pins_rst {
			pinmux = <MT7623_PIN_115_MSDC0_RSTB_FUNC_MSDC0_RSTB>;
			bias-pull-up;
		};
	};

	mmc0_pins_uhs: mmc0 {
		pins_cmd_dat {
			pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_MSDC0_DAT7>,
				 <MT7623_PIN_112_MSDC0_DAT6_FUNC_MSDC0_DAT6>,
				 <MT7623_PIN_113_MSDC0_DAT5_FUNC_MSDC0_DAT5>,
				 <MT7623_PIN_114_MSDC0_DAT4_FUNC_MSDC0_DAT4>,
				 <MT7623_PIN_118_MSDC0_DAT3_FUNC_MSDC0_DAT3>,
				 <MT7623_PIN_119_MSDC0_DAT2_FUNC_MSDC0_DAT2>,
				 <MT7623_PIN_120_MSDC0_DAT1_FUNC_MSDC0_DAT1>,
				 <MT7623_PIN_121_MSDC0_DAT0_FUNC_MSDC0_DAT0>,
				 <MT7623_PIN_116_MSDC0_CMD_FUNC_MSDC0_CMD>;
			input-enable;
			drive-strength = <MTK_DRIVE_2mA>;
			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
		};

		pins_clk {
			pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_MSDC0_CLK>;
			drive-strength = <MTK_DRIVE_2mA>;
			bias-pull-down = <MTK_PUPD_SET_R1R0_01>;
		};

		pins_rst {
			pinmux = <MT7623_PIN_115_MSDC0_RSTB_FUNC_MSDC0_RSTB>;
			bias-pull-up;
		};
	};

	mmc1_pins_default: mmc1default {
		pins_cmd_dat {
			pinmux = <MT7623_PIN_107_MSDC1_DAT0_FUNC_MSDC1_DAT0>,
				 <MT7623_PIN_108_MSDC1_DAT1_FUNC_MSDC1_DAT1>,
				 <MT7623_PIN_109_MSDC1_DAT2_FUNC_MSDC1_DAT2>,
				 <MT7623_PIN_110_MSDC1_DAT3_FUNC_MSDC1_DAT3>,
				 <MT7623_PIN_105_MSDC1_CMD_FUNC_MSDC1_CMD>;
			input-enable;
			drive-strength = <MTK_DRIVE_4mA>;
			bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
		};

		pins_clk {
			pinmux = <MT7623_PIN_106_MSDC1_CLK_FUNC_MSDC1_CLK>;
			bias-pull-down;
			drive-strength = <MTK_DRIVE_4mA>;
		};

		pins_wp {
			pinmux = <MT7623_PIN_29_EINT7_FUNC_MSDC1_WP>;
			input-enable;
			bias-pull-up;
		};

		pins_insert {
			pinmux = <MT7623_PIN_261_MSDC1_INS_FUNC_GPIO261>;
			bias-pull-up;
		};
	};

	mmc1_pins_uhs: mmc1 {
		pins_cmd_dat {
			pinmux = <MT7623_PIN_107_MSDC1_DAT0_FUNC_MSDC1_DAT0>,
				 <MT7623_PIN_108_MSDC1_DAT1_FUNC_MSDC1_DAT1>,
				 <MT7623_PIN_109_MSDC1_DAT2_FUNC_MSDC1_DAT2>,
				 <MT7623_PIN_110_MSDC1_DAT3_FUNC_MSDC1_DAT3>,
				 <MT7623_PIN_105_MSDC1_CMD_FUNC_MSDC1_CMD>;
			input-enable;
			drive-strength = <MTK_DRIVE_4mA>;
			bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
		};

		pins_clk {
			pinmux = <MT7623_PIN_106_MSDC1_CLK_FUNC_MSDC1_CLK>;
			drive-strength = <MTK_DRIVE_4mA>;
			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
		};
	};

	pwm_pins_a: pwm@0 {
		pins_pwm {
			pinmux = <MT7623_PIN_203_PWM0_FUNC_PWM0>,
				 <MT7623_PIN_204_PWM1_FUNC_PWM1>,
				 <MT7623_PIN_205_PWM2_FUNC_PWM2>,
				 <MT7623_PIN_206_PWM3_FUNC_PWM3>,
				 <MT7623_PIN_207_PWM4_FUNC_PWM4>;
		};
	};

	spi0_pins_a: spi@0 {
		pins_spi {
			pinmux = <MT7623_PIN_53_SPI0_CSN_FUNC_SPI0_CS>,
				<MT7623_PIN_54_SPI0_CK_FUNC_SPI0_CK>,
				<MT7623_PIN_55_SPI0_MI_FUNC_SPI0_MI>,
				<MT7623_PIN_56_SPI0_MO_FUNC_SPI0_MO>;
			bias-disable;
		};
	};

	uart0_pins_a: uart@0 {
		pins_dat {
			pinmux = <MT7623_PIN_79_URXD0_FUNC_URXD0>,
				 <MT7623_PIN_80_UTXD0_FUNC_UTXD0>;
		};
	};

	uart1_pins_a: uart@1 {
		pins_dat {
			pinmux = <MT7623_PIN_81_URXD1_FUNC_URXD1>,
				 <MT7623_PIN_82_UTXD1_FUNC_UTXD1>;
		};
	};
};

&pwm {
	pinctrl-names = "default";
	pinctrl-0 = <&pwm_pins_a>;
	status = "okay";
};

&pwrap {
	mt6323 {
		mt6323led: led {
			compatible = "mediatek,mt6323-led";
			#address-cells = <1>;
			#size-cells = <0>;

			led@0 {
				reg = <0>;
				label = "bpi-r2:isink:green";
				default-state = "off";
			};

			led@1 {
				reg = <1>;
				label = "bpi-r2:isink:red";
				default-state = "off";
			};

			led@2 {
				reg = <2>;
				label = "bpi-r2:isink:blue";
				default-state = "off";
			};
		};
	};
};

&spi0 {
	pinctrl-names = "default";
	pinctrl-0 = <&spi0_pins_a>;
	status = "okay";
};

&uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart0_pins_a>;
	status = "disabled";
};

&uart1 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart1_pins_a>;
	status = "disabled";
};

&uart2 {
	status = "okay";
};

&usb1 {
	vusb33-supply = <&reg_3p3v>;
	vbus-supply = <&reg_5v>;
	status = "okay";
};

&usb2 {
	vusb33-supply = <&reg_3p3v>;
	vbus-supply = <&reg_5v>;
	status = "okay";
};

&u3phy1 {
	status = "okay";
};

&u3phy2 {
	status = "okay";
};

