Skip to contentSkip to conversation

Support NVIDIA Tegra-based Acer A500 and Nexus 7 devices

PATCH Applied Dmitry Osipenko 2 participants 9 messages Jun 29, 2020 – Jul 16, 2020

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

v10 cover Support NVIDIA Tegra-based Acer A500 and Nexus 7 devices

Hello,

This series introduces upstream kernel support for Acer Iconia Tab A500 and ASUS Google Nexus 7 tablet devices. Please review and apply, thanks in advance.

Changelog:

v10:- Rebased on a recent linux-next which got some device-tree changes:

- Renamed sdhci@ DT nodes to mmc@
- Removed simple-busses from DTs
- Checked DTBs using upcoming YAML bindings from Thierry Reding

v9: - Nexus 7 memory timings are moved out to a separate dtsi file to ease
reviewing of the device-trees since the sparse definition of the timings within multiple DT files created some unnecessary confusion. Thanks to Michał Mirosław for the suggestion.

v8: - The eMMC voltage regulator is now marked as always-ON in all
device-trees because turned out that some bootloader versions have assumption about the enabled regulator at a boot time. This fixes machine hanging on a warm reboot, it's also matching the downstream kernel regulator configuration.

- The core regulator of the Ti PMIC Nexus 7 variant is now limited to a 1.35V, which is a more realistic limit than 1.5V that was borrowed from the Cardhu device-tree. Now both Maxim and Ti variants have the common limits.

- Added acks from Rob Herring.

v7: - This version brings support for a Nexus 7 variant that uses Ti PMIC
instead of the Maxim PMIC. Previously we assumed that variant with the Ti PMIC doesn't exist in a wild, but turned out that it was a wrong assumption. In a result the device-trees are separated into more DTSI pieces, which combined together form the final device-tree. Thanks to Zack Pearsall for testing the Ti version!

- The camera voltage regulator is now preset to a correct 1.8v in the Nexus 7 device-tree.

v6: - Corrected PMIC's RTC alias in the DTs. Sometime ago I renamed the
PMIC's node to match the modern upstream styling, but forgot to change the RTC alias. Now PMIC RTC alias uses node's handle instead of string.

- Removed "panel: " handle from device trees, which became unused after v5 and I just missed to remove it.

v5: - After spending some more time on adding LVDS encoder bridge support
to the Tegra DRM driver, I'm now having a second thought and agree with Thierry Reding that in a longer run it should be better not to mix old nvidia,panel with new output graph in device-tree. So the nvidia,panel phandle is removed now in both A500 and Nexus 7 DTs.

v4: - Corrected CPU's thermal zone on both A500 and Nexus 7, which
should use the remote thermal sensor (Tegra chip) instead of the local ("skin" temperature).

- Added default PMIC pinmux state on Nexus 7, for completeness.

- Added PMIC cpu_pwr_req GPIO hog on Nexus 7, for completeness.

- Renamed thermal sensor node label to NCT72 on Nexus 7 to match the actual hardware (NCT72 is compatible with NCT1008). For completeness.

- Added always-on USB AVDD regulator on Nexus 7, which is controlled by the PMIC GPIO. For completeness.

- Added PMIC GPIO enable-control to the 3v3_sys regulator on Nexus 7, for completeness.

- Added CONFIG_NAMESPACES, CONFIG_USER_NS, CONFIG_SECCOMP and CONFIG_PINCTRL_MAX77620 to the tegra_defconfig. The first three options are must-have for the modern userspace, the last is somewhat actual now since the default PMIC pinmux state is added to the N7 DT.

v3: - Improved device-tree node-names in accordance to review comments that
were made by Thierry Reding to v2.

- Corrected LVDS encoder powerdown-GPIO polarity on both A500 and Nexus 7 because I implemented the DRM bridges support in the Tegra DRM driver and found that there was a mistake in the device-trees. The updated polarity also matches the boards schematics. Now DRM bridges support becomes mandatory since LVDS is getting disabled during of the encoder driver probing. I'll send the DRM patch separately from this series.

- Replaced recently deprecated CONFIG_DRM_LVDS_ENCODER with the new CONFIG_DRM_LVDS_CODEC in tegra_defconfig.

- Added more config options to tegra_defconfig, like pstore and thermal.

- Added atmel,cfg_name to the A500 DT, which is a new upcoming property in 5.8+ that allows to specify the per-board hardware config file name.

v2: - Corrected "volume down" key-label in the grouper's device-tree and
improved some other names in device-trees.

- Added optional (upcoming in 5.8+) VDD/AVDD regulators to the touchscreen node in A500 device-tree.

Dmitry Osipenko (6):
ARM: tegra: Add device-tree for Acer Iconia Tab A500
ARM: tegra: Add device-tree for ASUS Google Nexus 7
dt-bindings: Add vendor prefix for Acer Inc.
dt-bindings: ARM: tegra: Add Acer Iconia Tab A500
dt-bindings: ARM: tegra: Add ASUS Google Nexus 7
ARM: tegra_defconfig: Enable options useful for Nexus 7 and Acer A500

 .../devicetree/bindings/arm/tegra.yaml        |   10 +
 .../devicetree/bindings/vendor-prefixes.yaml  |    2 +
 arch/arm/boot/dts/Makefile                    |    4 +
 .../boot/dts/tegra20-acer-a500-picasso.dts    | 1438 +++++++++++++++
 .../dts/tegra30-asus-nexus7-grouper-E1565.dts |    9 +
 .../dts/tegra30-asus-nexus7-grouper-PM269.dts |    9 +
 .../tegra30-asus-nexus7-grouper-common.dtsi   | 1232 +++++++++++++
 ...egra30-asus-nexus7-grouper-maxim-pmic.dtsi |  185 ++
 ...30-asus-nexus7-grouper-memory-timings.dtsi | 1565 +++++++++++++++++
 .../tegra30-asus-nexus7-grouper-ti-pmic.dtsi  |  149 ++
 .../boot/dts/tegra30-asus-nexus7-grouper.dtsi |  149 ++
 .../dts/tegra30-asus-nexus7-tilapia-E1565.dts |    9 +
 ...30-asus-nexus7-tilapia-memory-timings.dtsi |  325 ++++
 .../boot/dts/tegra30-asus-nexus7-tilapia.dtsi |  235 +++
 arch/arm/configs/tegra_defconfig              |   42 +
 15 files changed, 5363 insertions(+)
 create mode 100644 arch/arm/boot/dts/tegra20-acer-a500-picasso.dts
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-grouper-E1565.dts
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-grouper-PM269.dts
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-grouper-common.dtsi
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-grouper-maxim-pmic.dtsi
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-grouper-memory-timings.dtsi
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-grouper-ti-pmic.dtsi
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-grouper.dtsi
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-tilapia-E1565.dts
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-tilapia-memory-timings.dtsi
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-tilapia.dtsi
Signature · 1 line
2.26.0
#1 lore raw

PATCH v10 1/6 ARM: tegra: Add device-tree for Acer Iconia Tab A500

Add device-tree for Acer Iconia Tab A500, which is NVIDIA Tegra20-based tablet device.

---
 arch/arm/boot/dts/Makefile                    |    1 +
 .../boot/dts/tegra20-acer-a500-picasso.dts    | 1438 +++++++++++++++++
 2 files changed, 1439 insertions(+)
 create mode 100644 arch/arm/boot/dts/tegra20-acer-a500-picasso.dts
arch/arm/boot/dts/Makefile +1 -0
index 74dd94e72848..5168edd17611 100644
@@ -1199,6 +1199,7 @@ dtb-$(CONFIG_MACH_SUNIV) += \
 dtb-$(CONFIG_ARCH_TANGO) += \
 	tango4-vantage-1172.dtb
 dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += \
+	tegra20-acer-a500-picasso.dtb \
 	tegra20-harmony.dtb \
 	tegra20-colibri-eval-v3.dtb \
 	tegra20-colibri-iris.dtb \
arch/arm/boot/dts/tegra20-acer-a500-picasso.dts new file +1438 -0

1,438 lines not on this page · raw message

Signature · 1 line
2.26.0
#2 lore raw

PATCH v10 2/6 ARM: tegra: Add device-tree for ASUS Google Nexus 7

In reply to Dmitry Osipenko

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.

---
 arch/arm/boot/dts/Makefile                    |    3 +
 .../dts/tegra30-asus-nexus7-grouper-E1565.dts |    9 +
 .../dts/tegra30-asus-nexus7-grouper-PM269.dts |    9 +
 .../tegra30-asus-nexus7-grouper-common.dtsi   | 1232 +++++++++++++
 ...egra30-asus-nexus7-grouper-maxim-pmic.dtsi |  185 ++
 ...30-asus-nexus7-grouper-memory-timings.dtsi | 1565 +++++++++++++++++
 .../tegra30-asus-nexus7-grouper-ti-pmic.dtsi  |  149 ++
 .../boot/dts/tegra30-asus-nexus7-grouper.dtsi |  149 ++
 .../dts/tegra30-asus-nexus7-tilapia-E1565.dts |    9 +
 ...30-asus-nexus7-tilapia-memory-timings.dtsi |  325 ++++
 .../boot/dts/tegra30-asus-nexus7-tilapia.dtsi |  235 +++
 11 files changed, 3870 insertions(+)
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-grouper-E1565.dts
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-grouper-PM269.dts
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-grouper-common.dtsi
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-grouper-maxim-pmic.dtsi
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-grouper-memory-timings.dtsi
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-grouper-ti-pmic.dtsi
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-grouper.dtsi
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-tilapia-E1565.dts
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-tilapia-memory-timings.dtsi
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-tilapia.dtsi
arch/arm/boot/dts/Makefile +3 -0
index 5168edd17611..a1a7846e3781 100644
@@ -1213,6 +1213,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 \
arch/arm/boot/dts/tegra30-asus-nexus7-grouper-E1565.dts new file +9 -0
new file mode 100644
index 000000000000..a25b8560b0cd
@@ -0,0 +1,9 @@
+// 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";
+};
arch/arm/boot/dts/tegra30-asus-nexus7-grouper-PM269.dts new file +9 -0
new file mode 100644
index 000000000000..06ef13ea5df8
@@ -0,0 +1,9 @@
+// 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";
+};
arch/arm/boot/dts/tegra30-asus-nexus7-grouper-common.dtsi new file +1232 -0

1,232 lines not on this page · raw message

arch/arm/boot/dts/tegra30-asus-nexus7-grouper-maxim-pmic.dtsi new file +185 -0

185 lines not on this page · raw message

arch/arm/boot/dts/tegra30-asus-nexus7-grouper-memory-timings.dtsi new file +1565 -0

1,556 lines not on this page · raw message

arch/arm/boot/dts/tegra30-asus-nexus7-grouper-ti-pmic.dtsi new file +149 -0

149 lines not on this page · raw message

arch/arm/boot/dts/tegra30-asus-nexus7-grouper.dtsi new file +149 -0

149 lines not on this page · raw message

arch/arm/boot/dts/tegra30-asus-nexus7-tilapia-E1565.dts new file +9 -0
new file mode 100644
index 000000000000..f1c63feb4af9

Lines of this file are not shown. View the raw message.

arch/arm/boot/dts/tegra30-asus-nexus7-tilapia-memory-timings.dtsi new file +325 -0

325 lines not on this page · raw message

arch/arm/boot/dts/tegra30-asus-nexus7-tilapia.dtsi new file +235 -0

235 lines not on this page · raw message

The rest of this diff is not shown. View the raw message.

Signature · 1 line
2.26.0

Part of the diff is not shown here. View the raw message.

#3 lore raw

PATCH v10 3/6 dt-bindings: Add vendor prefix for Acer Inc.

In reply to Dmitry Osipenko

Acer is a hardware and electronics corporation, specializing in advanced electronics technology. Acer's products include desktop PCs, laptop PCs, tablets, servers, displays, storage devices, virtual reality devices, smartphones and peripherals. Their web site is http://www.acer.com/.

---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)
Documentation/devicetree/bindings/vendor-prefixes.yaml +2 -0
index 9aeab66be85f..9f7af78d6864 100644
@@ -27,6 +27,8 @@ patternProperties:
     description: Abilis Systems
   "^abracon,.*":
     description: Abracon Corporation
+  "^acer,.*":
+    description: Acer Inc.
   "^acme,.*":
     description: Acme Systems srl
   "^actions,.*":
Signature · 1 line
2.26.0
#4 lore raw

PATCH v10 4/6 dt-bindings: ARM: tegra: Add Acer Iconia Tab A500

In reply to Dmitry Osipenko

Add a binding for the Tegra20-based Acer Iconia Tab A500 tablet device.

---
 Documentation/devicetree/bindings/arm/tegra.yaml | 3 +++
 1 file changed, 3 insertions(+)
Documentation/devicetree/bindings/arm/tegra.yaml +3 -0
index 60b38eb5c61a..7fd0b66c69b2 100644
@@ -34,6 +34,9 @@ properties:
               - toradex,colibri_t20-iris
           - const: toradex,colibri_t20
           - const: nvidia,tegra20
+      - items:
+          - const: acer,picasso
+          - const: nvidia,tegra20
       - items:
           - enum:
               - nvidia,beaver
Signature · 1 line
2.26.0
#5 lore raw

PATCH v10 5/6 dt-bindings: ARM: tegra: Add ASUS Google Nexus 7

In reply to Dmitry Osipenko

Add a binding for the Tegra30-based ASUS Google Nexus 7 tablet device.

---
 Documentation/devicetree/bindings/arm/tegra.yaml | 7 +++++++
 1 file changed, 7 insertions(+)
Documentation/devicetree/bindings/arm/tegra.yaml +7 -0
index 7fd0b66c69b2..fb3bbf7a5fb4 100644
@@ -62,6 +62,13 @@ properties:
               - toradex,colibri_t30-eval-v3
           - const: toradex,colibri_t30
           - const: nvidia,tegra30
+      - items:
+          - const: asus,grouper
+          - const: nvidia,tegra30
+      - items:
+          - const: asus,tilapia
+          - const: asus,grouper
+          - const: nvidia,tegra30
       - items:
           - enum:
               - nvidia,dalmore
Signature · 1 line
2.26.0
#6 lore raw

PATCH v10 6/6 ARM: tegra_defconfig: Enable options useful for Nexus 7 and Acer A500

In reply to Dmitry Osipenko

Enable several very useful options and drivers for hardware that is found on Nexus 7 and Acer A500 tablet devices. Please note that some drivers may require firmware files extracted from original Android image.

---
 arch/arm/configs/tegra_defconfig | 42 ++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)
arch/arm/configs/tegra_defconfig +42 -0
index aa94369bdd0f..9b01f8cc8262 100644
@@ -10,6 +10,8 @@ CONFIG_RT_GROUP_SCHED=y
 CONFIG_CGROUP_FREEZER=y
 CONFIG_CGROUP_CPUACCT=y
 CONFIG_CGROUP_DEBUG=y
+CONFIG_NAMESPACES=y
+CONFIG_USER_NS=y
 CONFIG_BLK_DEV_INITRD=y
 # CONFIG_ELF_CORE is not set
 CONFIG_EMBEDDED=y
@@ -18,6 +20,7 @@ CONFIG_SLAB=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_SMP=y
 CONFIG_HIGHMEM=y
+CONFIG_SECCOMP=y
 CONFIG_ZBOOT_ROM_TEXT=0x0
 CONFIG_ZBOOT_ROM_BSS=0x0
 CONFIG_KEXEC=y
@@ -63,11 +66,17 @@ CONFIG_BT_RFCOMM=y
 CONFIG_BT_BNEP=y
 CONFIG_BT_HIDP=y
 CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIUART=y
+CONFIG_BT_HCIUART_BCM=y
 CONFIG_CFG80211=y
 CONFIG_MAC80211=y
 CONFIG_RFKILL=y
 CONFIG_RFKILL_INPUT=y
 CONFIG_RFKILL_GPIO=y
+CONFIG_NFC=y
+CONFIG_NFC_HCI=y
+CONFIG_NFC_SHDLC=y
+CONFIG_NFC_PN544_I2C=y
 CONFIG_PCI=y
 CONFIG_PCIEPORTBUS=y
 CONFIG_PCI_MSI=y
@@ -106,20 +115,24 @@ CONFIG_INPUT_JOYDEV=y
 CONFIG_INPUT_EVDEV=y
 CONFIG_KEYBOARD_GPIO=y
 CONFIG_KEYBOARD_TEGRA=y
+CONFIG_KEYBOARD_CAP11XX=y
 CONFIG_KEYBOARD_CROS_EC=y
 CONFIG_MOUSE_PS2_ELANTECH=y
 CONFIG_INPUT_TOUCHSCREEN=y
 CONFIG_TOUCHSCREEN_ATMEL_MXT=y
+CONFIG_TOUCHSCREEN_ELAN=y
 CONFIG_TOUCHSCREEN_WM97XX=y
 # CONFIG_TOUCHSCREEN_WM9705 is not set
 # CONFIG_TOUCHSCREEN_WM9713 is not set
 CONFIG_TOUCHSCREEN_STMPE=y
 CONFIG_INPUT_MISC=y
+CONFIG_INPUT_GPIO_VIBRA=y
 # CONFIG_LEGACY_PTYS is not set
 CONFIG_SERIAL_8250=y
 CONFIG_SERIAL_8250_CONSOLE=y
 CONFIG_SERIAL_OF_PLATFORM=y
 CONFIG_SERIAL_TEGRA=y
+CONFIG_SERIAL_DEV_BUS=y
 # CONFIG_HW_RANDOM is not set
 # CONFIG_I2C_COMPAT is not set
 CONFIG_I2C_CHARDEV=y
@@ -131,10 +144,12 @@ CONFIG_SPI_TEGRA114=y
 CONFIG_SPI_TEGRA20_SFLASH=y
 CONFIG_SPI_TEGRA20_SLINK=y
 CONFIG_PINCTRL_AS3722=y
+CONFIG_PINCTRL_MAX77620=y
 CONFIG_PINCTRL_PALMAS=y
 CONFIG_GPIO_SYSFS=y
 CONFIG_GPIO_PCA953X=y
 CONFIG_GPIO_PCA953X_IRQ=y
+CONFIG_GPIO_MAX77620=y
 CONFIG_GPIO_PALMAS=y
 CONFIG_GPIO_TPS6586X=y
 CONFIG_GPIO_TPS65910=y
@@ -142,13 +157,21 @@ CONFIG_POWER_RESET=y
 CONFIG_POWER_RESET_AS3722=y
 CONFIG_POWER_RESET_GPIO=y
 CONFIG_BATTERY_SBS=y
+CONFIG_BATTERY_BQ27XXX=y
+CONFIG_CHARGER_GPIO=y
+CONFIG_CHARGER_SMB347=y
 CONFIG_CHARGER_TPS65090=y
 CONFIG_SENSORS_LM90=y
 CONFIG_SENSORS_LM95245=y
+CONFIG_THERMAL=y
+CONFIG_THERMAL_STATISTICS=y
+CONFIG_CPU_THERMAL=y
 CONFIG_WATCHDOG=y
+CONFIG_MAX77620_WATCHDOG=y
 CONFIG_TEGRA_WATCHDOG=y
 CONFIG_MFD_AS3722=y
 CONFIG_MFD_CROS_EC=y
+CONFIG_MFD_MAX77620=y
 CONFIG_MFD_MAX8907=y
 CONFIG_MFD_STMPE=y
 CONFIG_MFD_PALMAS=y
@@ -159,6 +182,7 @@ CONFIG_REGULATOR=y
 CONFIG_REGULATOR_FIXED_VOLTAGE=y
 CONFIG_REGULATOR_AS3722=y
 CONFIG_REGULATOR_GPIO=y
+CONFIG_REGULATOR_MAX77620=y
 CONFIG_REGULATOR_MAX8907=y
 CONFIG_REGULATOR_PALMAS=y
 CONFIG_REGULATOR_TPS51632=y
@@ -174,7 +198,10 @@ CONFIG_USB_GSPCA=y
 CONFIG_DRM=y
 CONFIG_DRM_NOUVEAU=m
 CONFIG_DRM_TEGRA=y
+CONFIG_DRM_TEGRA_STAGING=y
+CONFIG_DRM_PANEL_LVDS=y
 CONFIG_DRM_PANEL_SIMPLE=y
+CONFIG_DRM_LVDS_CODEC=y
 # CONFIG_LCD_CLASS_DEVICE is not set
 CONFIG_BACKLIGHT_CLASS_DEVICE=y
 # CONFIG_BACKLIGHT_GENERIC is not set
@@ -238,6 +265,7 @@ CONFIG_RTC_CLASS=y
 CONFIG_RTC_DRV_AS3722=y
 CONFIG_RTC_DRV_DS1307=y
 CONFIG_RTC_DRV_MAX8907=y
+CONFIG_RTC_DRV_MAX77686=y
 CONFIG_RTC_DRV_PALMAS=y
 CONFIG_RTC_DRV_TPS6586X=y
 CONFIG_RTC_DRV_TPS65910=y
@@ -259,11 +287,18 @@ CONFIG_ARCH_TEGRA_2x_SOC=y
 CONFIG_ARCH_TEGRA_3x_SOC=y
 CONFIG_ARCH_TEGRA_114_SOC=y
 CONFIG_ARCH_TEGRA_124_SOC=y
+CONFIG_PM_DEVFREQ=y
+CONFIG_ARM_TEGRA_DEVFREQ=y
+CONFIG_ARM_TEGRA20_DEVFREQ=y
 CONFIG_MEMORY=y
 CONFIG_IIO=y
+CONFIG_KXCJK1013=y
 CONFIG_MPU3050_I2C=y
+CONFIG_INV_MPU6050_I2C=y
+CONFIG_AL3010=y
 CONFIG_SENSORS_ISL29018=y
 CONFIG_SENSORS_ISL29028=y
+CONFIG_AK8974=y
 CONFIG_AK8975=y
 CONFIG_PWM=y
 CONFIG_PWM_TEGRA=y
@@ -282,6 +317,13 @@ CONFIG_TMPFS_POSIX_ACL=y
 CONFIG_SQUASHFS=y
 CONFIG_SQUASHFS_LZO=y
 CONFIG_SQUASHFS_XZ=y
+CONFIG_PSTORE=y
+CONFIG_PSTORE_LZO_COMPRESS=y
+CONFIG_PSTORE_LZ4_COMPRESS=y
+CONFIG_PSTORE_LZ4HC_COMPRESS=y
+CONFIG_PSTORE_842_COMPRESS=y
+CONFIG_PSTORE_CONSOLE=y
+CONFIG_PSTORE_RAM=y
 CONFIG_NFS_FS=y
 CONFIG_NFS_V4=y
 CONFIG_ROOT_NFS=y
Signature · 1 line
2.26.0
#7 lore raw
In reply to Dmitry Osipenko
Quoted 128 lines · Dmitry Osipenko

Hello,

This series introduces upstream kernel support for Acer Iconia Tab A500 and ASUS Google Nexus 7 tablet devices. Please review and apply, thanks in advance.

Changelog:

v10:- Rebased on a recent linux-next which got some device-tree changes:

- Renamed sdhci@ DT nodes to mmc@
- Removed simple-busses from DTs
- Checked DTBs using upcoming YAML bindings from Thierry Reding

v9: - Nexus 7 memory timings are moved out to a separate dtsi file to ease
reviewing of the device-trees since the sparse definition of the timings within multiple DT files created some unnecessary confusion. Thanks to Michał Mirosław for the suggestion.

v8: - The eMMC voltage regulator is now marked as always-ON in all
device-trees because turned out that some bootloader versions have assumption about the enabled regulator at a boot time. This fixes machine hanging on a warm reboot, it's also matching the downstream kernel regulator configuration.

- The core regulator of the Ti PMIC Nexus 7 variant is now limited to a 1.35V, which is a more realistic limit than 1.5V that was borrowed from the Cardhu device-tree. Now both Maxim and Ti variants have the common limits.

- Added acks from Rob Herring.

v7: - This version brings support for a Nexus 7 variant that uses Ti PMIC
instead of the Maxim PMIC. Previously we assumed that variant with the Ti PMIC doesn't exist in a wild, but turned out that it was a wrong assumption. In a result the device-trees are separated into more DTSI pieces, which combined together form the final device-tree. Thanks to Zack Pearsall for testing the Ti version!

- The camera voltage regulator is now preset to a correct 1.8v in the Nexus 7 device-tree.

v6: - Corrected PMIC's RTC alias in the DTs. Sometime ago I renamed the
PMIC's node to match the modern upstream styling, but forgot to change the RTC alias. Now PMIC RTC alias uses node's handle instead of string.

- Removed "panel: " handle from device trees, which became unused after v5 and I just missed to remove it.

v5: - After spending some more time on adding LVDS encoder bridge support
to the Tegra DRM driver, I'm now having a second thought and agree with Thierry Reding that in a longer run it should be better not to mix old nvidia,panel with new output graph in device-tree. So the nvidia,panel phandle is removed now in both A500 and Nexus 7 DTs.

v4: - Corrected CPU's thermal zone on both A500 and Nexus 7, which
should use the remote thermal sensor (Tegra chip) instead of the local ("skin" temperature).

- Added default PMIC pinmux state on Nexus 7, for completeness.

- Added PMIC cpu_pwr_req GPIO hog on Nexus 7, for completeness.

- Renamed thermal sensor node label to NCT72 on Nexus 7 to match the actual hardware (NCT72 is compatible with NCT1008). For completeness.

- Added always-on USB AVDD regulator on Nexus 7, which is controlled by the PMIC GPIO. For completeness.

- Added PMIC GPIO enable-control to the 3v3_sys regulator on Nexus 7, for completeness.

- Added CONFIG_NAMESPACES, CONFIG_USER_NS, CONFIG_SECCOMP and CONFIG_PINCTRL_MAX77620 to the tegra_defconfig. The first three options are must-have for the modern userspace, the last is somewhat actual now since the default PMIC pinmux state is added to the N7 DT.

v3: - Improved device-tree node-names in accordance to review comments that
were made by Thierry Reding to v2.

- Corrected LVDS encoder powerdown-GPIO polarity on both A500 and Nexus 7 because I implemented the DRM bridges support in the Tegra DRM driver and found that there was a mistake in the device-trees. The updated polarity also matches the boards schematics. Now DRM bridges support becomes mandatory since LVDS is getting disabled during of the encoder driver probing. I'll send the DRM patch separately from this series.

- Replaced recently deprecated CONFIG_DRM_LVDS_ENCODER with the new CONFIG_DRM_LVDS_CODEC in tegra_defconfig.

- Added more config options to tegra_defconfig, like pstore and thermal.

- Added atmel,cfg_name to the A500 DT, which is a new upcoming property in 5.8+ that allows to specify the per-board hardware config file name.

v2: - Corrected "volume down" key-label in the grouper's device-tree and
improved some other names in device-trees.

- Added optional (upcoming in 5.8+) VDD/AVDD regulators to the touchscreen node in A500 device-tree.

Dmitry Osipenko (6):
ARM: tegra: Add device-tree for Acer Iconia Tab A500
ARM: tegra: Add device-tree for ASUS Google Nexus 7
dt-bindings: Add vendor prefix for Acer Inc.
dt-bindings: ARM: tegra: Add Acer Iconia Tab A500
dt-bindings: ARM: tegra: Add ASUS Google Nexus 7
ARM: tegra_defconfig: Enable options useful for Nexus 7 and Acer A500

 .../devicetree/bindings/arm/tegra.yaml        |   10 +
 .../devicetree/bindings/vendor-prefixes.yaml  |    2 +
 arch/arm/boot/dts/Makefile                    |    4 +
 .../boot/dts/tegra20-acer-a500-picasso.dts    | 1438 +++++++++++++++
 .../dts/tegra30-asus-nexus7-grouper-E1565.dts |    9 +
 .../dts/tegra30-asus-nexus7-grouper-PM269.dts |    9 +
 .../tegra30-asus-nexus7-grouper-common.dtsi   | 1232 +++++++++++++
 ...egra30-asus-nexus7-grouper-maxim-pmic.dtsi |  185 ++
 ...30-asus-nexus7-grouper-memory-timings.dtsi | 1565 +++++++++++++++++
 .../tegra30-asus-nexus7-grouper-ti-pmic.dtsi  |  149 ++
 .../boot/dts/tegra30-asus-nexus7-grouper.dtsi |  149 ++
 .../dts/tegra30-asus-nexus7-tilapia-E1565.dts |    9 +
 ...30-asus-nexus7-tilapia-memory-timings.dtsi |  325 ++++
 .../boot/dts/tegra30-asus-nexus7-tilapia.dtsi |  235 +++
 arch/arm/configs/tegra_defconfig              |   42 +
 15 files changed, 5363 insertions(+)
 create mode 100644 arch/arm/boot/dts/tegra20-acer-a500-picasso.dts
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-grouper-E1565.dts
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-grouper-PM269.dts
Quoted 8 lines
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-grouper-common.dtsi
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-grouper-maxim-pmic.dtsi
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-grouper-memory-timings.dtsi
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-grouper-ti-pmic.dtsi
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-grouper.dtsi
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-tilapia-E1565.dts
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-tilapia-memory-timings.dtsi
 create mode 100644 arch/arm/boot/dts/tegra30-asus-nexus7-tilapia.dtsi

Applied, thanks.

Thierry

#8 lore raw

16.07.2020 15:38, Thierry Reding пишет:

Quoted 8 lines · Dmitry Osipenko
Quoted 5 lines

Hello,

This series introduces upstream kernel support for Acer Iconia Tab A500 and ASUS Google Nexus 7 tablet devices. Please review and apply, thanks in advance.

Applied, thanks.

Hello, Thierry! Thank you! :)