Skip to content

Commit 60fe365

Browse files
committed
asus: grouper: initial support
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
1 parent 39e2838 commit 60fe365

15 files changed

+1090
-0
lines changed

arch/arm/dts/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,9 @@ dtb-$(CONFIG_ARCH_TEGRA) += \
215215
tegra20-colibri.dtb \
216216
tegra20-qemu.dtb \
217217
tegra30-apalis.dtb \
218+
tegra30-asus-nexus7-grouper-PM269.dtb \
219+
tegra30-asus-nexus7-grouper-E1565.dtb \
220+
tegra30-asus-nexus7-tilapia-E1565.dtb \
218221
tegra30-asus-p1801-t.dtb \
219222
tegra30-asus-tf201.dtb \
220223
tegra30-asus-tf300t.dtb \
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
// SPDX-License-Identifier: GPL-2.0-or-later
2+
3+
#include <dt-bindings/input/gpio-keys.h>
4+
#include <dt-bindings/input/linux-event-codes.h>
5+
6+
#include "tegra30.dtsi"
7+
8+
/ {
9+
chosen {
10+
stdout-path = &uarta;
11+
};
12+
13+
aliases {
14+
mmc0 = &sdmmc4; /* eMMC */
15+
16+
rtc1 = "/rtc@7000e000";
17+
18+
usb0 = &usb1;
19+
};
20+
21+
memory {
22+
device_type = "memory";
23+
reg = <0x80000000 0x40000000>;
24+
};
25+
26+
uarta: serial@70006000 {
27+
status = "okay";
28+
};
29+
30+
pwm: pwm@7000a000 {
31+
status = "okay";
32+
};
33+
34+
sdmmc4: sdhci@78000600 {
35+
status = "okay";
36+
bus-width = <8>;
37+
non-removable;
38+
};
39+
40+
usb1: usb@7d000000 {
41+
status = "okay";
42+
dr_mode = "otg";
43+
};
44+
45+
backlight: backlight {
46+
compatible = "pwm-backlight";
47+
48+
enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
49+
power-supply = <&vdd_5v0_bl>;
50+
pwms = <&pwm 0 50000>;
51+
52+
brightness-levels = <0 4 8 16 32 64 128 255>;
53+
default-brightness-level = <6>;
54+
};
55+
56+
clocks {
57+
compatible = "simple-bus";
58+
#address-cells = <1>;
59+
#size-cells = <0>;
60+
61+
clk32k_in: clock@0 {
62+
compatible = "fixed-clock";
63+
reg=<0>;
64+
#clock-cells = <0>;
65+
clock-frequency = <32768>;
66+
};
67+
};
68+
69+
gpio-keyboard {
70+
compatible = "gpio-keys-input";
71+
72+
power {
73+
label = "Power";
74+
gpios = <&gpio TEGRA_GPIO(V, 0) GPIO_ACTIVE_LOW>;
75+
linux,code = <KEY_ENTER>;
76+
};
77+
78+
volume-up {
79+
label = "Volume Up";
80+
gpios = <&gpio TEGRA_GPIO(Q, 2) GPIO_ACTIVE_LOW>;
81+
linux,code = <KEY_UP>;
82+
};
83+
84+
volume-down {
85+
label = "Volume Down";
86+
gpios = <&gpio TEGRA_GPIO(Q, 3) GPIO_ACTIVE_LOW>;
87+
linux,code = <KEY_DOWN>;
88+
};
89+
};
90+
91+
panel: panel {
92+
compatible = "simple-panel";
93+
94+
power-supply = <&vdd_pnl_reg>;
95+
enable-gpios = <&gpio TEGRA_GPIO(N, 6) GPIO_ACTIVE_HIGH>;
96+
97+
backlight = <&backlight>;
98+
};
99+
100+
regulators {
101+
compatible = "simple-bus";
102+
#address-cells = <1>;
103+
#size-cells = <0>;
104+
105+
vdd_pnl_reg: regulator@0 {
106+
compatible = "regulator-fixed";
107+
reg = <0>;
108+
regulator-name = "vdd_panel";
109+
regulator-min-microvolt = <3300000>;
110+
regulator-max-microvolt = <3300000>;
111+
gpio = <&gpio TEGRA_GPIO(W, 1) GPIO_ACTIVE_HIGH>;
112+
enable-active-high;
113+
};
114+
115+
vdd_5v0_bl: regulator@1 {
116+
compatible = "regulator-fixed";
117+
reg = <1>;
118+
regulator-name = "vdd_5v0_bl";
119+
regulator-min-microvolt = <5000000>;
120+
regulator-max-microvolt = <5000000>;
121+
regulator-boot-on;
122+
gpio = <&gpio TEGRA_GPIO(H, 3) GPIO_ACTIVE_HIGH>;
123+
enable-active-high;
124+
};
125+
};
126+
};
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
// SPDX-License-Identifier: GPL-2.0-or-later
2+
/dts-v1/;
3+
4+
#include <dt-bindings/input/gpio-keys.h>
5+
#include <dt-bindings/input/linux-event-codes.h>
6+
7+
#include "tegra30-asus-grouper-common.dtsi"
8+
9+
/ {
10+
model = "ASUS Google Nexus 7 (Project Nakasi / ME370T) E1565";
11+
compatible = "asus,grouper", "nvidia,tegra30";
12+
13+
host1x@50000000 {
14+
status = "okay";
15+
dc@54200000 {
16+
status = "okay";
17+
rgb {
18+
status = "okay";
19+
20+
nvidia,panel = <&panel>;
21+
22+
display-timings {
23+
timing@0 {
24+
/* 1280x800@60Hz */
25+
clock-frequency = <68000000>;
26+
hactive = <800>;
27+
vactive = <1280>;
28+
hfront-porch = <24>;
29+
hback-porch = <32>;
30+
hsync-len = <24>;
31+
vsync-len = <1>;
32+
vfront-porch = <5>;
33+
vback-porch = <32>;
34+
};
35+
};
36+
};
37+
};
38+
};
39+
};
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
// SPDX-License-Identifier: GPL-2.0-or-later
2+
/dts-v1/;
3+
4+
#include <dt-bindings/input/gpio-keys.h>
5+
#include <dt-bindings/input/linux-event-codes.h>
6+
7+
#include "tegra30-asus-grouper-common.dtsi"
8+
9+
/ {
10+
model = "ASUS Google Nexus 7 (Project Nakasi / ME370T) PM269";
11+
compatible = "asus,grouper", "nvidia,tegra30";
12+
13+
host1x@50000000 {
14+
status = "okay";
15+
dc@54200000 {
16+
status = "okay";
17+
rgb {
18+
status = "okay";
19+
20+
nvidia,panel = <&panel>;
21+
22+
display-timings {
23+
timing@0 {
24+
/* 1280x800@60Hz */
25+
clock-frequency = <68000000>;
26+
hactive = <800>;
27+
vactive = <1280>;
28+
hfront-porch = <24>;
29+
hback-porch = <32>;
30+
hsync-len = <24>;
31+
vsync-len = <1>;
32+
vfront-porch = <5>;
33+
vback-porch = <32>;
34+
};
35+
};
36+
};
37+
};
38+
};
39+
40+
i2c@7000d000 {
41+
status = "okay";
42+
clock-frequency = <400000>;
43+
44+
/* Texas Instruments TPS659110 PMIC */
45+
pmic: tps65911@2d {
46+
compatible = "ti,tps65911";
47+
reg = <0x2d>;
48+
49+
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
50+
#interrupt-cells = <2>;
51+
interrupt-controller;
52+
53+
ti,system-power-controller;
54+
55+
#gpio-cells = <2>;
56+
gpio-controller;
57+
58+
regulators {
59+
/* eMMC VDD */
60+
vcore_emmc: ldo1 {
61+
regulator-name = "vdd_emmc_core";
62+
regulator-min-microvolt = <1000000>;
63+
regulator-max-microvolt = <3300000>;
64+
regulator-always-on;
65+
};
66+
};
67+
};
68+
};
69+
};
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
// SPDX-License-Identifier: GPL-2.0-or-later
2+
/dts-v1/;
3+
4+
#include <dt-bindings/input/gpio-keys.h>
5+
#include <dt-bindings/input/linux-event-codes.h>
6+
7+
#include "tegra30-asus-grouper-common.dtsi"
8+
9+
/ {
10+
model = "ASUS Google Nexus 7 (Project Bach / ME370TG) E1565";
11+
compatible = "asus,tilapia", "nvidia,tegra30";
12+
13+
host1x@50000000 {
14+
status = "okay";
15+
dc@54200000 {
16+
status = "okay";
17+
rgb {
18+
status = "okay";
19+
20+
nvidia,panel = <&panel>;
21+
22+
display-timings {
23+
timing@0 {
24+
/* 1280x800@60Hz */
25+
clock-frequency = <81750000>;
26+
hactive = <800>;
27+
vactive = <1280>;
28+
hfront-porch = <64>;
29+
hback-porch = <128>;
30+
hsync-len = <64>;
31+
vsync-len = <1>;
32+
vfront-porch = <5>;
33+
vback-porch = <2>;
34+
};
35+
};
36+
};
37+
};
38+
};
39+
};

arch/arm/mach-tegra/tegra30/Kconfig

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ config TARGET_COLIBRI_T30
2020
bool "Toradex Colibri T30 board"
2121
select BOARD_LATE_INIT
2222

23+
config TARGET_GROUPER
24+
bool "Asus and Google Grouper board"
25+
select BOARD_LATE_INIT
26+
2327
config TARGET_TEC_NG
2428
bool "Avionic Design TEC-NG board"
2529
select BOARD_LATE_INIT
@@ -33,6 +37,7 @@ endchoice
3337
config SYS_SOC
3438
default "tegra30"
3539

40+
source "board/asus/grouper/Kconfig"
3641
source "board/asus/transformer-t30/Kconfig"
3742
source "board/toradex/apalis_t30/Kconfig"
3843
source "board/nvidia/beaver/Kconfig"

board/asus/grouper/Kconfig

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
if TARGET_GROUPER
2+
3+
config SYS_BOARD
4+
default "grouper"
5+
6+
config SYS_VENDOR
7+
default "asus"
8+
9+
config SYS_CONFIG_NAME
10+
default "grouper"
11+
12+
config GROUPER_TPS65911
13+
bool "Enable support TI TPS65911 PMIC"
14+
default n
15+
16+
config GROUPER_MAX77663
17+
bool "Enable support MAXIM MAX77663 PMIC"
18+
default n
19+
20+
endif

board/asus/grouper/MAINTAINERS

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
TRANSFORMER BOARD
2+
M: Svyatoslav Ryhel <clamor95@gmail.com>
3+
S: Maintained
4+
F: board/asus/grouper/
5+
F: include/configs/grouper.h
6+
F: configs/grouper_PM269_defconfig
7+
F: configs/grouper_E1565_defconfig
8+
F: configs/tilapia_defconfig

board/asus/grouper/Makefile

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# SPDX-License-Identifier: GPL-2.0-or-later
2+
#
3+
# (C) Copyright 2010-2012
4+
# NVIDIA Corporation <www.nvidia.com>
5+
#
6+
# (C) Copyright 2021
7+
# Svyatoslav Ryhel <clamor95@gmail.com>
8+
9+
obj-y := grouper.o

0 commit comments

Comments
 (0)