Commit 2720008f authored by Dmitry Osipenko's avatar Dmitry Osipenko Committed by Thierry Reding
Browse files

ARM: tegra: Add device-tree for ASUS Google Nexus 7

There are few hardware variants of NVIDIA Tegra30-based Nexus 7 device:

1. WiFi-only (named Grouper)
2. GSM (named Tilapia)
3. Using Maxim PMIC (E1565 board ID)
4. Using Ti PMIC (PM269 board ID)

This patch adds device-trees for known and tested variants.

Link: https://wiki.postmarketos.org/wiki/Google_Nexus_7_2012_(asus-grouper)


Tested-by: default avatarPedro Ângelo <pangelo@void.io>
Tested-by: default avatarMatt Merhar <mattmerhar@protonmail.com>
Tested-by: default avatarZack Pearsall <zpearsall@yahoo.com>
Signed-off-by: default avatarDavid Heidelberg <david@ixit.cz>
Signed-off-by: default avatarDmitry Osipenko <digetx@gmail.com>
Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
parent 674b5102
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1211,6 +1211,9 @@ dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += \
dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += \
	tegra30-apalis-eval.dtb \
	tegra30-apalis-v1.1-eval.dtb \
	tegra30-asus-nexus7-grouper-PM269.dtb \
	tegra30-asus-nexus7-grouper-E1565.dtb \
	tegra30-asus-nexus7-tilapia-E1565.dtb \
	tegra30-beaver.dtb \
	tegra30-cardhu-a02.dtb \
	tegra30-cardhu-a04.dtb \
+9 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0
/dts-v1/;

#include "tegra30-asus-nexus7-grouper-maxim-pmic.dtsi"
#include "tegra30-asus-nexus7-grouper.dtsi"

/ {
	model = "ASUS Google Nexus 7 (Project Nakasi / ME370T) E1565";
};
+9 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0
/dts-v1/;

#include "tegra30-asus-nexus7-grouper-ti-pmic.dtsi"
#include "tegra30-asus-nexus7-grouper.dtsi"

/ {
	model = "ASUS Google Nexus 7 (Project Nakasi / ME370T) PM269";
};
+1232 −0

File added.

Preview size limit exceeded, changes collapsed.

+185 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0

#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/mfd/max77620.h>

/ {
	i2c@7000d000 {
		pmic: pmic@3c {
			compatible = "maxim,max77663";
			reg = <0x3c>;

			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
			#interrupt-cells = <2>;
			interrupt-controller;

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

			system-power-controller;

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

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

			cpu-pwr-req {
				gpio-hog;
				gpios = <6 GPIO_ACTIVE_HIGH>;
				input;
			};

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

				fps1 {
					maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>;
				};

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

			regulators {
				in-sd0-supply = <&vdd_5v0_sys>;
				in-sd1-supply = <&vdd_5v0_sys>;
				in-sd2-supply = <&vdd_5v0_sys>;
				in-sd3-supply = <&vdd_5v0_sys>;
				in-sd4-supply = <&vdd_5v0_sys>;

				in-ldo0-1-supply = <&vdd_1v35>;
				in-ldo2-supply   = <&vdd_3v3_sys>;
				in-ldo3-5-supply = <&vdd_3v3_sys>;
				in-ldo4-6-supply = <&vdd_5v0_sys>;
				in-ldo7-8-supply = <&vdd_1v35>;

				vdd_cpu: sd0 {
					regulator-name = "vdd_cpu";
					regulator-min-microvolt = <800000>;
					regulator-max-microvolt = <1250000>;
					regulator-coupled-with = <&vdd_core>;
					regulator-coupled-max-spread = <300000>;
					regulator-max-step-microvolt = <100000>;
					regulator-always-on;
					regulator-boot-on;

					nvidia,tegra-cpu-regulator;
				};

				vdd_core: sd1 {
					regulator-name = "vdd_core";
					regulator-min-microvolt = <950000>;
					regulator-max-microvolt = <1350000>;
					regulator-coupled-with = <&vdd_cpu>;
					regulator-coupled-max-spread = <300000>;
					regulator-max-step-microvolt = <100000>;
					regulator-always-on;
					regulator-boot-on;

					nvidia,tegra-core-regulator;
				};

				vdd_1v8: sd2 {
					regulator-name = "vdd_gen1v8";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
					regulator-boot-on;
				};

				vdd_1v35: sd3 {
					regulator-name = "vdd_ddr3l_1v35";
					regulator-min-microvolt = <1350000>;
					regulator-max-microvolt = <1350000>;
					regulator-always-on;
					regulator-boot-on;
				};

				ldo0 {
					regulator-name = "vdd_ddr_hs";
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1000000>;
					regulator-always-on;
					regulator-boot-on;
				};

				ldo2 {
					regulator-name = "vdd_ddr_rx";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
					regulator-always-on;
					regulator-boot-on;
				};

				vcore_emmc: ldo3 {
					regulator-name = "vcore_emmc";
					regulator-min-microvolt = <2850000>;
					regulator-max-microvolt = <3100000>;
					regulator-always-on;
				};

				ldo4 {
					regulator-name = "vdd_rtc";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
					regulator-always-on;
					regulator-boot-on;
				};

				ldo5 {
					regulator-name = "vdd_camera";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
				};

				ldo6 {
					regulator-name = "vddio_sdmmc";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <3300000>;
					regulator-always-on;
					regulator-boot-on;
				};

				ldo7 {
					regulator-name = "avdd_dsi_csi";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
				};

				ldo8 {
					regulator-name = "avdd_pll";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
					regulator-always-on;
					regulator-boot-on;
				};
			};
		};
	};

	vdd_3v3_sys: regulator@1 {
		gpio = <&pmic 3 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	regulator@4 {
		compatible = "regulator-fixed";
		regulator-name = "avdd_usb";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-always-on;
		regulator-boot-on;
		gpio = <&pmic 2 GPIO_ACTIVE_HIGH>;
		enable-active-high;
		vin-supply = <&vdd_3v3_sys>;
	};
};
Loading