17a180f56SJagan Teki// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
27a180f56SJagan Teki/*
37a180f56SJagan Teki * Copyright (c) 2020 Engicam srl
47a180f56SJagan Teki * Copyright (c) 2020 Amarula Solutions
57a180f56SJagan Teki * Copyright (c) 2020 Amarula Solutions(India)
67a180f56SJagan Teki */
77a180f56SJagan Teki
87a180f56SJagan Teki/ {
9*78b8513bSHeiko Stuebner	aliases {
10*78b8513bSHeiko Stuebner		mmc1 = &sdmmc;
11*78b8513bSHeiko Stuebner		mmc2 = &sdio;
12*78b8513bSHeiko Stuebner	};
13*78b8513bSHeiko Stuebner
147a180f56SJagan Teki	vcc5v0_sys: vcc5v0-sys {
157a180f56SJagan Teki		compatible = "regulator-fixed";
167a180f56SJagan Teki		regulator-name = "vcc5v0_sys";	/* +5V */
177a180f56SJagan Teki		regulator-always-on;
187a180f56SJagan Teki		regulator-boot-on;
197a180f56SJagan Teki		regulator-min-microvolt = <5000000>;
207a180f56SJagan Teki		regulator-max-microvolt = <5000000>;
217a180f56SJagan Teki	};
2293a4e7d1SSuniel Mahesh
2393a4e7d1SSuniel Mahesh	sdio_pwrseq: sdio-pwrseq {
2493a4e7d1SSuniel Mahesh		compatible = "mmc-pwrseq-simple";
2593a4e7d1SSuniel Mahesh		clocks = <&xin32k>;
2693a4e7d1SSuniel Mahesh		clock-names = "ext_clock";
2793a4e7d1SSuniel Mahesh		post-power-on-delay-ms = <80>;
2893a4e7d1SSuniel Mahesh		pinctrl-names = "default";
2993a4e7d1SSuniel Mahesh		pinctrl-0 = <&wifi_enable_h>;
3093a4e7d1SSuniel Mahesh	};
3193a4e7d1SSuniel Mahesh
321cc1e851SSuniel Mahesh	vcc3v3_btreg: vcc3v3-btreg {
331cc1e851SSuniel Mahesh		compatible = "regulator-gpio";
341cc1e851SSuniel Mahesh		enable-active-high;
351cc1e851SSuniel Mahesh		pinctrl-names = "default";
361cc1e851SSuniel Mahesh		pinctrl-0 = <&bt_enable_h>;
371cc1e851SSuniel Mahesh		regulator-name = "btreg-gpio-supply";
381cc1e851SSuniel Mahesh		regulator-min-microvolt = <3300000>;
391cc1e851SSuniel Mahesh		regulator-max-microvolt = <3300000>;
401cc1e851SSuniel Mahesh		regulator-always-on;
411cc1e851SSuniel Mahesh		states = <3300000 0x0>;
421cc1e851SSuniel Mahesh	};
431cc1e851SSuniel Mahesh
4493a4e7d1SSuniel Mahesh	vcc3v3_rf_aux_mod: vcc3v3-rf-aux-mod {
4593a4e7d1SSuniel Mahesh		compatible = "regulator-fixed";
4693a4e7d1SSuniel Mahesh		regulator-name = "vcc3v3_rf_aux_mod";
4793a4e7d1SSuniel Mahesh		regulator-min-microvolt = <3300000>;
4893a4e7d1SSuniel Mahesh		regulator-max-microvolt = <3300000>;
4993a4e7d1SSuniel Mahesh		regulator-always-on;
5093a4e7d1SSuniel Mahesh		regulator-boot-on;
5193a4e7d1SSuniel Mahesh		vin-supply = <&vcc5v0_sys>;
5293a4e7d1SSuniel Mahesh	};
5393a4e7d1SSuniel Mahesh
5493a4e7d1SSuniel Mahesh	xin32k: xin32k {
5593a4e7d1SSuniel Mahesh		compatible = "fixed-clock";
5693a4e7d1SSuniel Mahesh		#clock-cells = <0>;
5793a4e7d1SSuniel Mahesh		clock-frequency = <32768>;
5893a4e7d1SSuniel Mahesh		clock-output-names = "xin32k";
5993a4e7d1SSuniel Mahesh	};
6093a4e7d1SSuniel Mahesh};
6193a4e7d1SSuniel Mahesh
6293a4e7d1SSuniel Mahesh&sdio {
6393a4e7d1SSuniel Mahesh	#address-cells = <1>;
6493a4e7d1SSuniel Mahesh	#size-cells = <0>;
6593a4e7d1SSuniel Mahesh	bus-width = <4>;
6693a4e7d1SSuniel Mahesh	clock-frequency = <50000000>;
6793a4e7d1SSuniel Mahesh	cap-sdio-irq;
6893a4e7d1SSuniel Mahesh	cap-sd-highspeed;
6993a4e7d1SSuniel Mahesh	keep-power-in-suspend;
7093a4e7d1SSuniel Mahesh	mmc-pwrseq = <&sdio_pwrseq>;
7193a4e7d1SSuniel Mahesh	non-removable;
7293a4e7d1SSuniel Mahesh	sd-uhs-sdr104;
7393a4e7d1SSuniel Mahesh	status = "okay";
7493a4e7d1SSuniel Mahesh
7593a4e7d1SSuniel Mahesh	brcmf: wifi@1 {
7693a4e7d1SSuniel Mahesh		compatible = "brcm,bcm4329-fmac";
7793a4e7d1SSuniel Mahesh		reg = <1>;
7893a4e7d1SSuniel Mahesh	};
797a180f56SJagan Teki};
807a180f56SJagan Teki
817a180f56SJagan Teki&gmac {
827a180f56SJagan Teki	clock_in_out = "output";
837a180f56SJagan Teki	phy-supply = <&vcc_3v3>;	/* +3V3_SOM */
847a180f56SJagan Teki	snps,reset-active-low;
857a180f56SJagan Teki	snps,reset-delays-us = <0 50000 50000>;
867a180f56SJagan Teki	snps,reset-gpio = <&gpio2 RK_PB5 GPIO_ACTIVE_HIGH>;
877a180f56SJagan Teki	status = "okay";
887a180f56SJagan Teki};
897a180f56SJagan Teki
9087761edeSJagan Teki&pwm0 {
9187761edeSJagan Teki	status = "okay";
9287761edeSJagan Teki};
9387761edeSJagan Teki
947a180f56SJagan Teki&sdmmc {
957a180f56SJagan Teki	cap-sd-highspeed;
967a180f56SJagan Teki	card-detect-delay = <800>;
977a180f56SJagan Teki	vmmc-supply = <&vcc_3v3>;	/* +3V3_SOM */
987a180f56SJagan Teki	vqmmc-supply = <&vcc_3v3>;
997a180f56SJagan Teki	status = "okay";
1007a180f56SJagan Teki};
1017a180f56SJagan Teki
1024548ea02SJagan Teki&u2phy {
1034548ea02SJagan Teki	status = "okay";
1044548ea02SJagan Teki
1054548ea02SJagan Teki	u2phy_host: host-port {
1064548ea02SJagan Teki		status = "okay";
1074548ea02SJagan Teki	};
1084548ea02SJagan Teki
1094548ea02SJagan Teki	u2phy_otg: otg-port {
1104548ea02SJagan Teki		status = "okay";
1114548ea02SJagan Teki	};
1124548ea02SJagan Teki};
1134548ea02SJagan Teki
1147a180f56SJagan Teki&uart2 {
1157a180f56SJagan Teki	pinctrl-0 = <&uart2m1_xfer>;
1167a180f56SJagan Teki	status = "okay";
1177a180f56SJagan Teki};
1184548ea02SJagan Teki
1194548ea02SJagan Teki&usb20_otg {
1204548ea02SJagan Teki	status = "okay";
1214548ea02SJagan Teki};
1224548ea02SJagan Teki
1234548ea02SJagan Teki&usb_host0_ehci {
1244548ea02SJagan Teki	status = "okay";
1254548ea02SJagan Teki};
1264548ea02SJagan Teki
1274548ea02SJagan Teki&usb_host0_ohci {
1284548ea02SJagan Teki	status = "okay";
1294548ea02SJagan Teki};
130