Skip to content

Commit

Permalink
asus: grouper: initial support
Browse files Browse the repository at this point in the history
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
  • Loading branch information
clamor-s committed Jan 21, 2022
1 parent 39e2838 commit 60fe365
Show file tree
Hide file tree
Showing 15 changed files with 1,090 additions and 0 deletions.
3 changes: 3 additions & 0 deletions arch/arm/dts/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,9 @@ dtb-$(CONFIG_ARCH_TEGRA) += \
tegra20-colibri.dtb \
tegra20-qemu.dtb \
tegra30-apalis.dtb \
tegra30-asus-nexus7-grouper-PM269.dtb \
tegra30-asus-nexus7-grouper-E1565.dtb \
tegra30-asus-nexus7-tilapia-E1565.dtb \
tegra30-asus-p1801-t.dtb \
tegra30-asus-tf201.dtb \
tegra30-asus-tf300t.dtb \
Expand Down
126 changes: 126 additions & 0 deletions arch/arm/dts/tegra30-asus-grouper-common.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
// SPDX-License-Identifier: GPL-2.0-or-later

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

#include "tegra30.dtsi"

/ {
chosen {
stdout-path = &uarta;
};

aliases {
mmc0 = &sdmmc4; /* eMMC */

rtc1 = "/rtc@7000e000";

usb0 = &usb1;
};

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

uarta: serial@70006000 {
status = "okay";
};

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

sdmmc4: sdhci@78000600 {
status = "okay";
bus-width = <8>;
non-removable;
};

usb1: usb@7d000000 {
status = "okay";
dr_mode = "otg";
};

backlight: backlight {
compatible = "pwm-backlight";

enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
power-supply = <&vdd_5v0_bl>;
pwms = <&pwm 0 50000>;

brightness-levels = <0 4 8 16 32 64 128 255>;
default-brightness-level = <6>;
};

clocks {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;

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

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

power {
label = "Power";
gpios = <&gpio TEGRA_GPIO(V, 0) GPIO_ACTIVE_LOW>;
linux,code = <KEY_ENTER>;
};

volume-up {
label = "Volume Up";
gpios = <&gpio TEGRA_GPIO(Q, 2) GPIO_ACTIVE_LOW>;
linux,code = <KEY_UP>;
};

volume-down {
label = "Volume Down";
gpios = <&gpio TEGRA_GPIO(Q, 3) GPIO_ACTIVE_LOW>;
linux,code = <KEY_DOWN>;
};
};

panel: panel {
compatible = "simple-panel";

power-supply = <&vdd_pnl_reg>;
enable-gpios = <&gpio TEGRA_GPIO(N, 6) GPIO_ACTIVE_HIGH>;

backlight = <&backlight>;
};

regulators {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;

vdd_pnl_reg: regulator@0 {
compatible = "regulator-fixed";
reg = <0>;
regulator-name = "vdd_panel";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&gpio TEGRA_GPIO(W, 1) GPIO_ACTIVE_HIGH>;
enable-active-high;
};

vdd_5v0_bl: regulator@1 {
compatible = "regulator-fixed";
reg = <1>;
regulator-name = "vdd_5v0_bl";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-boot-on;
gpio = <&gpio TEGRA_GPIO(H, 3) GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
};
39 changes: 39 additions & 0 deletions arch/arm/dts/tegra30-asus-nexus7-grouper-E1565.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
// SPDX-License-Identifier: GPL-2.0-or-later
/dts-v1/;

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

#include "tegra30-asus-grouper-common.dtsi"

/ {
model = "ASUS Google Nexus 7 (Project Nakasi / ME370T) E1565";
compatible = "asus,grouper", "nvidia,tegra30";

host1x@50000000 {
status = "okay";
dc@54200000 {
status = "okay";
rgb {
status = "okay";

nvidia,panel = <&panel>;

display-timings {
timing@0 {
/* 1280x800@60Hz */
clock-frequency = <68000000>;
hactive = <800>;
vactive = <1280>;
hfront-porch = <24>;
hback-porch = <32>;
hsync-len = <24>;
vsync-len = <1>;
vfront-porch = <5>;
vback-porch = <32>;
};
};
};
};
};
};
69 changes: 69 additions & 0 deletions arch/arm/dts/tegra30-asus-nexus7-grouper-PM269.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
// SPDX-License-Identifier: GPL-2.0-or-later
/dts-v1/;

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

#include "tegra30-asus-grouper-common.dtsi"

/ {
model = "ASUS Google Nexus 7 (Project Nakasi / ME370T) PM269";
compatible = "asus,grouper", "nvidia,tegra30";

host1x@50000000 {
status = "okay";
dc@54200000 {
status = "okay";
rgb {
status = "okay";

nvidia,panel = <&panel>;

display-timings {
timing@0 {
/* 1280x800@60Hz */
clock-frequency = <68000000>;
hactive = <800>;
vactive = <1280>;
hfront-porch = <24>;
hback-porch = <32>;
hsync-len = <24>;
vsync-len = <1>;
vfront-porch = <5>;
vback-porch = <32>;
};
};
};
};
};

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

/* Texas Instruments TPS659110 PMIC */
pmic: tps65911@2d {
compatible = "ti,tps65911";
reg = <0x2d>;

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

ti,system-power-controller;

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

regulators {
/* eMMC VDD */
vcore_emmc: ldo1 {
regulator-name = "vdd_emmc_core";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
};
};
};
};
39 changes: 39 additions & 0 deletions arch/arm/dts/tegra30-asus-nexus7-tilapia-E1565.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
// SPDX-License-Identifier: GPL-2.0-or-later
/dts-v1/;

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

#include "tegra30-asus-grouper-common.dtsi"

/ {
model = "ASUS Google Nexus 7 (Project Bach / ME370TG) E1565";
compatible = "asus,tilapia", "nvidia,tegra30";

host1x@50000000 {
status = "okay";
dc@54200000 {
status = "okay";
rgb {
status = "okay";

nvidia,panel = <&panel>;

display-timings {
timing@0 {
/* 1280x800@60Hz */
clock-frequency = <81750000>;
hactive = <800>;
vactive = <1280>;
hfront-porch = <64>;
hback-porch = <128>;
hsync-len = <64>;
vsync-len = <1>;
vfront-porch = <5>;
vback-porch = <2>;
};
};
};
};
};
};
5 changes: 5 additions & 0 deletions arch/arm/mach-tegra/tegra30/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@ config TARGET_COLIBRI_T30
bool "Toradex Colibri T30 board"
select BOARD_LATE_INIT

config TARGET_GROUPER
bool "Asus and Google Grouper board"
select BOARD_LATE_INIT

config TARGET_TEC_NG
bool "Avionic Design TEC-NG board"
select BOARD_LATE_INIT
Expand All @@ -33,6 +37,7 @@ endchoice
config SYS_SOC
default "tegra30"

source "board/asus/grouper/Kconfig"
source "board/asus/transformer-t30/Kconfig"
source "board/toradex/apalis_t30/Kconfig"
source "board/nvidia/beaver/Kconfig"
Expand Down
20 changes: 20 additions & 0 deletions board/asus/grouper/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
if TARGET_GROUPER

config SYS_BOARD
default "grouper"

config SYS_VENDOR
default "asus"

config SYS_CONFIG_NAME
default "grouper"

config GROUPER_TPS65911
bool "Enable support TI TPS65911 PMIC"
default n

config GROUPER_MAX77663
bool "Enable support MAXIM MAX77663 PMIC"
default n

endif
8 changes: 8 additions & 0 deletions board/asus/grouper/MAINTAINERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
TRANSFORMER BOARD
M: Svyatoslav Ryhel <clamor95@gmail.com>
S: Maintained
F: board/asus/grouper/
F: include/configs/grouper.h
F: configs/grouper_PM269_defconfig
F: configs/grouper_E1565_defconfig
F: configs/tilapia_defconfig
9 changes: 9 additions & 0 deletions board/asus/grouper/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# SPDX-License-Identifier: GPL-2.0-or-later
#
# (C) Copyright 2010-2012
# NVIDIA Corporation <www.nvidia.com>
#
# (C) Copyright 2021
# Svyatoslav Ryhel <clamor95@gmail.com>

obj-y := grouper.o
Loading

0 comments on commit 60fe365

Please sign in to comment.