// SPDX-License-Identifier: GPL-2.0
/dts-v1/;

#include <dt-bindings/input/gpio-keys.h>
#include <dt-bindings/input/linux-event-codes.h>
#include <dt-bindings/mfd/max77620.h>

#include "tegra210.dtsi"

/ {
	model = "NVIDIA Jetson Nano Developer Kit";
	compatible = "nvidia,p3450-0000", "nvidia,tegra210";

	aliases {
		ethernet = "/pcie@1003000/pci@2,0/ethernet@0,0";
		rtc0 = "/i2c@7000d000/pmic@3c";
		rtc1 = "/rtc@7000e000";
		serial0 = &uarta;
	};

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

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

	pcie@1003000 {
		status = "okay";

		avdd-pll-uerefe-supply = <&vdd_pex_1v05>;
		hvddio-pex-supply = <&vdd_1v8>;
		dvddio-pex-supply = <&vdd_pex_1v05>;
		dvdd-pex-pll-supply = <&vdd_pex_1v05>;
		hvdd-pex-pll-e-supply = <&vdd_1v8>;
		vddio-pex-ctl-supply = <&vdd_1v8>;

		pci@1,0 {
			phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>,
			       <&{/padctl@7009f000/pads/pcie/lanes/pcie-2}>,
			       <&{/padctl@7009f000/pads/pcie/lanes/pcie-3}>,
			       <&{/padctl@7009f000/pads/pcie/lanes/pcie-4}>;
			phy-names = "pcie-0", "pcie-1", "pcie-2", "pcie-3";
			nvidia,num-lanes = <4>;
			status = "okay";
		};

		pci@2,0 {
			phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>;
			phy-names = "pcie-0";
			status = "okay";

			ethernet@0,0 {
				reg = <0x000000 0 0 0 0>;
				local-mac-address = [ 00 00 00 00 00 00 ];
			};
		};
	};

	host1x@50000000 {
		dpaux@54040000 {
			status = "okay";
		};

		vi@54080000 {
			status = "okay";

			avdd-dsi-csi-supply = <&vdd_sys_1v2>;

			csi@838 {
				status = "okay";
			};
		};

		sor@54540000 {
			status = "okay";

			avdd-io-hdmi-dp-supply = <&avdd_io_edp_1v05>;
			vdd-hdmi-dp-pll-supply = <&vdd_1v8>;

			nvidia,xbar-cfg = <2 1 0 3 4>;
			nvidia,dpaux = <&dpaux>;
		};

		sor@54580000 {
			status = "okay";

			avdd-io-hdmi-dp-supply = <&avdd_1v05>;
			vdd-hdmi-dp-pll-supply = <&vdd_1v8>;
			hdmi-supply = <&vdd_hdmi>;

			nvidia,ddc-i2c-bus = <&hdmi_ddc>;
			nvidia,hpd-gpio = <&gpio TEGRA_GPIO(CC, 1)
					   GPIO_ACTIVE_LOW>;
			nvidia,xbar-cfg = <0 1 2 3 4>;
		};

		dpaux@545c0000 {
			status = "okay";
		};

		i2c@546c0000 {
			status = "okay";
		};
	};

	gpu@57000000 {
		vdd-supply = <&vdd_gpu>;
		status = "okay";
	};

	pinmux@700008d4 {
		dvfs_pwm_active_state: dvfs_pwm_active {
			dvfs_pwm_pbb1 {
				nvidia,pins = "dvfs_pwm_pbb1";
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
			};
		};

		dvfs_pwm_inactive_state: dvfs_pwm_inactive {
			dvfs_pwm_pbb1 {
				nvidia,pins = "dvfs_pwm_pbb1";
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
			};
		};
	};

	/* debug port */
	serial@70006000 {
		status = "okay";
	};

	pwm@7000a000 {
		status = "okay";
	};

	i2c@7000c500 {
		status = "okay";
		clock-frequency = <100000>;

		eeprom@50 {
			compatible = "atmel,24c02";
			reg = <0x50>;

			label = "module";
			vcc-supply = <&vdd_1v8>;
			address-width = <8>;
			pagesize = <8>;
			size = <256>;
			read-only;
		};

		eeprom@57 {
			compatible = "atmel,24c02";
			reg = <0x57>;

			label = "system";
			vcc-supply = <&vdd_1v8>;
			address-width = <8>;
			pagesize = <8>;
			size = <256>;
			read-only;
		};
	};

	hdmi_ddc: i2c@7000c700 {
		status = "okay";
		clock-frequency = <100000>;
	};

	i2c@7000d000 {
		status = "okay";
		clock-frequency = <400000>;

		pmic: pmic@3c {
			compatible = "maxim,max77620";
			reg = <0x3c>;
			interrupt-parent = <&tegra_pmc>;
			interrupts = <51 IRQ_TYPE_LEVEL_LOW>;

			#interrupt-cells = <2>;
			interrupt-controller;

			#gpio-cells = <2>;
			gpio-controller;

			pinctrl-names = "default";
			pinctrl-0 = <&max77620_default>;

			max77620_default: pinmux {
				gpio0 {
					pins = "gpio0";
					function = "gpio";
				};

				gpio1 {
					pins = "gpio1";
					function = "fps-out";
					drive-push-pull = <1>;
					maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>;
					maxim,active-fps-power-up-slot = <0>;
					maxim,active-fps-power-down-slot = <7>;
				};

				gpio2 {
					pins = "gpio2";
					function = "fps-out";
					drive-open-drain = <1>;
					maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
					maxim,active-fps-power-up-slot = <0>;
					maxim,active-fps-power-down-slot = <7>;
				};

				gpio3 {
					pins = "gpio3";
					function = "fps-out";
					drive-open-drain = <1>;
					maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
					maxim,active-fps-power-up-slot = <4>;
					maxim,active-fps-power-down-slot = <3>;
				};

				gpio4 {
					pins = "gpio4";
					function = "32k-out1";
				};

				gpio5_6_7 {
					pins = "gpio5", "gpio6", "gpio7";
					function = "gpio";
					drive-push-pull = <1>;
				};
			};

			fps {
				fps0 {
					maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
					maxim,suspend-fps-time-period-us = <5120>;
				};

				fps1 {
					maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>;
					maxim,suspend-fps-time-period-us = <5120>;
				};

				fps2 {
					maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
				};
			};

			regulators {
				in-ldo0-1-supply = <&vdd_pre>;
				in-ldo2-supply = <&vdd_3v3_sys>;
				in-ldo3-5-supply = <&vdd_1v8>;
				in-ldo4-6-supply = <&vdd_5v0_sys>;
				in-ldo7-8-supply = <&vdd_pre>;
				in-sd0-supply = <&vdd_5v0_sys>;
				in-sd1-supply = <&vdd_5v0_sys>;
				in-sd2-supply = <&vdd_5v0_sys>;
				in-sd3-supply = <&vdd_5v0_sys>;

				vdd_soc: sd0 {
					regulator-name = "VDD_SOC";
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1170000>;
					regulator-enable-ramp-delay = <146>;
					regulator-disable-ramp-delay = <4080>;
					regulator-ramp-delay = <27500>;
					regulator-ramp-delay-scale = <300>;
					regulator-always-on;
					regulator-boot-on;

					maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
					maxim,active-fps-power-up-slot = <1>;
					maxim,active-fps-power-down-slot = <6>;
				};

				vdd_ddr: sd1 {
					regulator-name = "VDD_DDR_1V1_PMIC";
					regulator-min-microvolt = <1150000>;
					regulator-max-microvolt = <1150000>;
					regulator-enable-ramp-delay = <176>;
					regulator-disable-ramp-delay = <145800>;
					regulator-ramp-delay = <27500>;
					regulator-ramp-delay-scale = <300>;
					regulator-always-on;
					regulator-boot-on;

					maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
					maxim,active-fps-power-up-slot = <5>;
					maxim,active-fps-power-down-slot = <2>;
				};

				vdd_pre: sd2 {
					regulator-name = "VDD_PRE_REG_1V35";
					regulator-min-microvolt = <1350000>;
					regulator-max-microvolt = <1350000>;
					regulator-enable-ramp-delay = <176>;
					regulator-disable-ramp-delay = <32000>;
					regulator-ramp-delay = <27500>;
					regulator-ramp-delay-scale = <350>;
					regulator-always-on;
					regulator-boot-on;

					maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
					maxim,active-fps-power-up-slot = <2>;
					maxim,active-fps-power-down-slot = <5>;
				};

				vdd_1v8: sd3 {
					regulator-name = "VDD_1V8";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-enable-ramp-delay = <242>;
					regulator-disable-ramp-delay = <118000>;
					regulator-ramp-delay = <27500>;
					regulator-ramp-delay-scale = <360>;
					regulator-always-on;
					regulator-boot-on;

					maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
					maxim,active-fps-power-up-slot = <3>;
					maxim,active-fps-power-down-slot = <4>;
				};

				vdd_sys_1v2: ldo0 {
					regulator-name = "AVDD_SYS_1V2";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
					regulator-enable-ramp-delay = <26>;
					regulator-disable-ramp-delay = <626>;
					regulator-ramp-delay = <100000>;
					regulator-ramp-delay-scale = <200>;
					regulator-always-on;
					regulator-boot-on;

					maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>;
					maxim,active-fps-power-up-slot = <0>;
					maxim,active-fps-power-down-slot = <7>;
				};

				vdd_pex_1v05: ldo1 {
					regulator-name = "VDD_PEX_1V05";
					regulator-min-microvolt = <1050000>;
					regulator-max-microvolt = <1050000>;
					regulator-enable-ramp-delay = <22>;
					regulator-disable-ramp-delay = <650>;
					regulator-ramp-delay = <100000>;
					regulator-ramp-delay-scale = <200>;

					maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>;
					maxim,active-fps-power-up-slot = <0>;
					maxim,active-fps-power-down-slot = <7>;
				};

				vddio_sdmmc: ldo2 {
					regulator-name = "VDDIO_SDMMC";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <3300000>;
					regulator-enable-ramp-delay = <62>;
					regulator-disable-ramp-delay = <650>;
					regulator-ramp-delay = <100000>;
					regulator-ramp-delay-scale = <200>;

					maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>;
					maxim,active-fps-power-up-slot = <0>;
					maxim,active-fps-power-down-slot = <7>;
				};

				ldo3 {
					status = "disabled";
				};

				vdd_rtc: ldo4 {
					regulator-name = "VDD_RTC";
					regulator-min-microvolt = <850000>;
					regulator-max-microvolt = <1100000>;
					regulator-enable-ramp-delay = <22>;
					regulator-disable-ramp-delay = <610>;
					regulator-ramp-delay = <100000>;
					regulator-ramp-delay-scale = <200>;
					regulator-disable-active-discharge;
					regulator-always-on;
					regulator-boot-on;

					maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
					maxim,active-fps-power-up-slot = <1>;
					maxim,active-fps-power-down-slot = <6>;
				};

				ldo5 {
					status = "disabled";
				};

				ldo6 {
					status = "disabled";
				};

				avdd_1v05_pll: ldo7 {
					regulator-name = "AVDD_1V05_PLL";
					regulator-min-microvolt = <1050000>;
					regulator-max-microvolt = <1050000>;
					regulator-enable-ramp-delay = <24>;
					regulator-disable-ramp-delay = <2768>;
					regulator-ramp-delay = <100000>;
					regulator-ramp-delay-scale = <200>;

					maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
					maxim,active-fps-power-up-slot = <3>;
					maxim,active-fps-power-down-slot = <4>;
				};

				avdd_1v05: ldo8 {
					regulator-name = "AVDD_SATA_HDMI_DP_1V05";
					regulator-min-microvolt = <1050000>;
					regulator-max-microvolt = <1050000>;
					regulator-enable-ramp-delay = <22>;
					regulator-disable-ramp-delay = <1160>;
					regulator-ramp-delay = <100000>;
					regulator-ramp-delay-scale = <200>;

					maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
					maxim,active-fps-power-up-slot = <6>;
					maxim,active-fps-power-down-slot = <1>;
				};
			};
		};
	};

	pmc@7000e400 {
		nvidia,invert-interrupt;
		nvidia,suspend-mode = <0>;
		nvidia,cpu-pwr-good-time = <0>;
		nvidia,cpu-pwr-off-time = <0>;
		nvidia,core-pwr-good-time = <4587 3876>;
		nvidia,core-pwr-off-time = <39065>;
		nvidia,core-power-req-active-high;
		nvidia,sys-clock-req-active-high;
	};

	hda@70030000 {
		nvidia,model = "jetson-nano-hda";

		status = "okay";
	};

	usb@70090000 {
		phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>,
		       <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>,
		       <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>,
		       <&{/padctl@7009f000/pads/pcie/lanes/pcie-6}>;
		phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0";

		avdd-usb-supply = <&vdd_3v3_sys>;
		dvddio-pex-supply = <&vdd_pex_1v05>;
		hvddio-pex-supply = <&vdd_1v8>;
		/* these really belong to the XUSB pad controller */
		avdd-pll-utmip-supply = <&vdd_1v8>;
		avdd-pll-uerefe-supply = <&vdd_pex_1v05>;
		dvdd-usb-ss-pll-supply = <&vdd_pex_1v05>;
		hvdd-usb-ss-pll-e-supply = <&vdd_1v8>;

		status = "okay";
	};

	padctl@7009f000 {
		status = "okay";

		avdd-pll-utmip-supply = <&vdd_1v8>;
		avdd-pll-uerefe-supply = <&vdd_pex_1v05>;
		dvdd-pex-pll-supply = <&vdd_pex_1v05>;
		hvdd-pex-pll-e-supply = <&vdd_1v8>;

		pads {
			usb2 {
				status = "okay";

				lanes {
					micro_b: usb2-0 {
						nvidia,function = "xusb";
						status = "okay";
					};

					usb2-1 {
						nvidia,function = "xusb";
						status = "okay";
					};

					usb2-2 {
						nvidia,function = "xusb";
						status = "okay";
					};
				};
			};

			pcie {
				status = "okay";

				lanes {
					pcie-0 {
						nvidia,function = "pcie-x1";
						status = "okay";
					};

					pcie-1 {
						nvidia,function = "pcie-x4";
						status = "okay";
					};

					pcie-2 {
						nvidia,function = "pcie-x4";
						status = "okay";
					};

					pcie-3 {
						nvidia,function = "pcie-x4";
						status = "okay";
					};

					pcie-4 {
						nvidia,function = "pcie-x4";
						status = "okay";
					};

					pcie-5 {
						nvidia,function = "usb3-ss";
						status = "okay";
					};

					pcie-6 {
						nvidia,function = "usb3-ss";
						status = "okay";
					};
				};
			};
		};

		ports {
			usb2-0 {
				status = "okay";
				mode = "peripheral";
				usb-role-switch;

				vbus-supply = <&vdd_5v0_usb>;

				connector {
					compatible = "gpio-usb-b-connector",
						     "usb-b-connector";
					label = "micro-USB";
					type = "micro";
					vbus-gpios = <&gpio TEGRA_GPIO(CC, 4)
						      GPIO_ACTIVE_LOW>;
				};
			};

			usb2-1 {
				status = "okay";
				mode = "host";
			};

			usb2-2 {
				status = "okay";
				mode = "host";
			};

			usb3-0 {
				status = "okay";
				nvidia,usb2-companion = <1>;
				vbus-supply = <&vdd_hub_3v3>;
			};
		};
	};

	mmc@700b0000 {
		status = "okay";
		bus-width = <4>;

		cd-gpios = <&gpio TEGRA_GPIO(Z, 1) GPIO_ACTIVE_LOW>;
		disable-wp;

		vqmmc-supply = <&vddio_sdmmc>;
		vmmc-supply = <&vdd_3v3_sd>;
	};

	mmc@700b0400 {
		status = "okay";
		bus-width = <4>;

		vqmmc-supply = <&vdd_1v8>;
		vmmc-supply = <&vdd_3v3_sys>;

		non-removable;
		cap-sdio-irq;
		keep-power-in-suspend;
		wakeup-source;
	};

	usb@700d0000 {
		status = "okay";
		phys = <&micro_b>;
		phy-names = "usb2-0";
		avddio-usb-supply = <&vdd_3v3_sys>;
		hvdd-usb-supply = <&vdd_1v8>;
	};

	clock@70110000 {
		status = "okay";

		nvidia,cf = <6>;
		nvidia,ci = <0>;
		nvidia,cg = <2>;
		nvidia,droop-ctrl = <0x00000f00>;
		nvidia,force-mode = <1>;
		nvidia,sample-rate = <25000>;

		nvidia,pwm-min-microvolts = <708000>;
		nvidia,pwm-period-nanoseconds = <2500>; /* 2.5us */
		nvidia,pwm-to-pmic;
		nvidia,pwm-tristate-microvolts = <1000000>;
		nvidia,pwm-voltage-step-microvolts = <19200>;

		pinctrl-names = "dvfs_pwm_enable", "dvfs_pwm_disable";
		pinctrl-0 = <&dvfs_pwm_active_state>;
		pinctrl-1 = <&dvfs_pwm_inactive_state>;
	};

	aconnect@702c0000 {
		status = "okay";

		dma@702e2000 {
			status = "okay";
		};

		interrupt-controller@702f9000 {
			status = "okay";
		};
	};

	clk32k_in: clock@0 {
		compatible = "fixed-clock";
		clock-frequency = <32768>;
		#clock-cells = <0>;
	};

	cpus {
		cpu@0 {
			enable-method = "psci";
		};

		cpu@1 {
			enable-method = "psci";
		};

		cpu@2 {
			enable-method = "psci";
		};

		cpu@3 {
			enable-method = "psci";
		};

		idle-states {
			cpu-sleep {
				status = "okay";
			};
		};
	};

	fan: fan {
		compatible = "pwm-fan";
		pwms = <&pwm 3 45334>;

		cooling-levels = <0 64 128 255>;
		#cooling-cells = <2>;
	};

	thermal-zones {
		cpu {
			trips {
				cpu_trip_critical: critical {
					temperature = <96500>;
					hysteresis = <0>;
					type = "critical";
				};

				cpu_trip_hot: hot {
					temperature = <70000>;
					hysteresis = <2000>;
					type = "hot";
				};

				cpu_trip_active: active {
					temperature = <50000>;
					hysteresis = <2000>;
					type = "active";
				};

				cpu_trip_passive: passive {
					temperature = <30000>;
					hysteresis = <2000>;
					type = "passive";
				};
			};

			cooling-maps {
				cpu-critical {
					cooling-device = <&fan 3 3>;
					trip = <&cpu_trip_critical>;
				};

				cpu-hot {
					cooling-device = <&fan 2 2>;
					trip = <&cpu_trip_hot>;
				};

				cpu-active {
					cooling-device = <&fan 1 1>;
					trip = <&cpu_trip_active>;
				};

				cpu-passive {
					cooling-device = <&fan 0 0>;
					trip = <&cpu_trip_passive>;
				};
			};
		};
	};

	gpio-keys {
		compatible = "gpio-keys";

		power {
			label = "Power";
			gpios = <&gpio TEGRA_GPIO(X, 5) GPIO_ACTIVE_LOW>;
			linux,input-type = <EV_KEY>;
			linux,code = <KEY_POWER>;
			debounce-interval = <30>;
			wakeup-event-action = <EV_ACT_ASSERTED>;
			wakeup-source;
		};

		force-recovery {
			label = "Force Recovery";
			gpios = <&gpio TEGRA_GPIO(X, 6) GPIO_ACTIVE_LOW>;
			linux,input-type = <EV_KEY>;
			linux,code = <BTN_1>;
			debounce-interval = <30>;
		};
	};

	psci {
		compatible = "arm,psci-1.0";
		method = "smc";
	};

	vdd_5v0_sys: regulator@0 {
		compatible = "regulator-fixed";

		regulator-name = "VDD_5V0_SYS";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		regulator-always-on;
		regulator-boot-on;
	};

	vdd_3v3_sys: regulator@1 {
		compatible = "regulator-fixed";

		regulator-name = "VDD_3V3_SYS";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-enable-ramp-delay = <240>;
		regulator-disable-ramp-delay = <11340>;
		regulator-always-on;
		regulator-boot-on;

		gpio = <&pmic 3 GPIO_ACTIVE_HIGH>;
		enable-active-high;

		vin-supply = <&vdd_5v0_sys>;
	};

	vdd_3v3_sd: regulator@2 {
		compatible = "regulator-fixed";

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

		gpio = <&gpio TEGRA_GPIO(Z, 3) GPIO_ACTIVE_HIGH>;
		enable-active-high;

		vin-supply = <&vdd_3v3_sys>;
	};

	vdd_hdmi: regulator@3 {
		compatible = "regulator-fixed";

		regulator-name = "VDD_HDMI_5V0";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;

		vin-supply = <&vdd_5v0_sys>;
	};

	vdd_hub_3v3: regulator@4 {
		compatible = "regulator-fixed";

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

		gpio = <&gpio TEGRA_GPIO(A, 6) GPIO_ACTIVE_HIGH>;
		enable-active-high;

		vin-supply = <&vdd_5v0_sys>;
	};

	vdd_cpu: regulator@5 {
		compatible = "regulator-fixed";

		regulator-name = "VDD_CPU";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		regulator-always-on;
		regulator-boot-on;

		gpio = <&pmic 5 GPIO_ACTIVE_HIGH>;
		enable-active-high;

		vin-supply = <&vdd_5v0_sys>;
	};

	vdd_gpu: regulator@6 {
		compatible = "pwm-regulator";
		pwms = <&pwm 1 8000>;

		regulator-name = "VDD_GPU";
		regulator-min-microvolt = <710000>;
		regulator-max-microvolt = <1320000>;
		regulator-ramp-delay = <80>;
		regulator-enable-ramp-delay = <2000>;
		regulator-settling-time-us = <160>;

		enable-gpios = <&pmic 6 GPIO_ACTIVE_HIGH>;
		vin-supply = <&vdd_5v0_sys>;
	};

	avdd_io_edp_1v05: regulator@7 {
		compatible = "regulator-fixed";

		regulator-name = "AVDD_IO_EDP_1V05";
		regulator-min-microvolt = <1050000>;
		regulator-max-microvolt = <1050000>;

		gpio = <&pmic 7 GPIO_ACTIVE_HIGH>;
		enable-active-high;

		vin-supply = <&avdd_1v05_pll>;
	};

	vdd_5v0_usb: regulator@8 {
		compatible = "regulator-fixed";

		regulator-name = "VDD_5V_USB";
		regulator-min-microvolt = <50000000>;
		regulator-max-microvolt = <50000000>;

		vin-supply = <&vdd_5v0_sys>;
	};
};
