* [PATCH v6 0/8] Initial support for Samsung Galaxy Tab 2 series
@ 2026-02-19 21:03 Mithil Bavishi
2026-02-19 21:04 ` [PATCH v6 1/8] ARM: dts: twl6032: Add DTS file for TWL6032 PMIC Mithil Bavishi
` (7 more replies)
0 siblings, 8 replies; 10+ messages in thread
From: Mithil Bavishi @ 2026-02-19 21:03 UTC (permalink / raw)
To: aaro.koskinen, airlied, andreas, conor+dt, jernej.skrabec, jonas,
khilman, krzk+dt, laurent.pinchart, maarten.lankhorst, mripard,
neil.armstrong, prabhakar.mahadev-lad.rj, jesszhan0024, rfoss,
robh, rogerq, simona, thierry.reding, tony, tzimmermann,
andrzej.hajda, bavishimithil
Cc: devicetree, dri-devel, linux-kernel, linux-omap
This series adds initial support for the Samsung Galaxy Tab 2
(samsung-espresso7/10) series of devices. It adds support for 6 variants
(P3100, P3110, P3113, P5100, P5110, P5113). Downstream categorised them
based on 3G and WiFi, but since they use different panel, touch
controllers, batteries, I decided to categorise them based on screen
size as espresso7 and espresso10.
It adds basic functionality for both the models including panel, drm,
sdcard, touchscreen, mmc, wifi, bluetooth, keys, battery, fuel gauge,
pmic, sensors.
Signed-off-by: Mithil Bavishi <bavishimithil@gmail.com>
---
Changes in v6
- Remove references to WAKEUP_EN (drivers dont support interrupts-extended)
- Remove gp2a_irq, it was for bh1721fvc not gp2a
- Remove mount-matrix
- Link to v5: https://lore.kernel.org/linux-omap/20260129054709.3878-1-bavishimithil@gmail.com/
Changes in v5
- Commit message length < 75
- Squash commits
- Link to v4: https://lore.kernel.org/linux-omap/20260119033035.57538-1-bavishimithil@gmail.com/
Changes in v4
- Fixed syntax in doestek vendor
- Changed - to _ in node names
- Removed address/size-cells in chosen
- Added pinmux for i2c-gpio5,6,7, irled
- Allow sdcard to poweroff (reg_espresso_external)
- Changed power to key-power
- Order alphabetically in omap4_pmx_wkup and omap4_pmx_core
- Use generic node names
- Added TODO for future nodes
- Fix touchscreen values in espresso7 and espresso10
- Add dts to Makefile
- Commit message length under 75
- Link to v3: https://lore.kernel.org/linux-omap/20241108200440.7562-1-bavishimithil@gmail.com/
Changes in v3
- Use device tree from the correct branch
- Fix commit subjects to matching the subsystem
- Add Doestek vendor
- Add compatible for LVDS encoder
- Add compatibles for 7 and 10 inch panels
- Clean up device tree using "make CHECK_DTBS=y"
- Link to v2: https://lore.kernel.org/all/20241030211215.347710-1-bavishimithil@gmail.com/
Changes in v2
- Fix node names in common dtsi to have - instead of _
- Removed import for twl6030.dtsi
- Edited dts to completely use twl6032 nodes
- Fixed typo ldosb -> ldousb
- Link to v1: https://lore.kernel.org/all/20241030194136.297648-1-bavishimithil@gmail.com/
--
Mithil Bavishi (8):
ARM: dts: twl6032: Add DTS file for TWL6032 PMIC
dt-bindings: vendor-prefixes: Add Doestek
dt-bindings: display: bridge: lvds-codec: add doestek,dtc34lm85am
dt-bindings: display: panel-lvds: Add compatibles for Samsung
LTN070NL01 and LTN101AL03 panels
ARM: dts: ti: omap: espresso-common: Add common device tree for
Samsung Galaxy Tab 2 series
dt-bindings: omap: Add Samsung Galaxy Tab 2 7.0 and 10.1
ARM: dts: ti: omap: samsung-espresso7: Add initial support for Galaxy
Tab 2 7.0
ARM: dts: ti: omap: samsung-espresso10: Add initial support for Galaxy
Tab 2 10.1
.../devicetree/bindings/arm/ti/omap.yaml | 2 +
.../bindings/display/bridge/lvds-codec.yaml | 1 +
.../bindings/display/panel/panel-lvds.yaml | 4 +
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
arch/arm/boot/dts/ti/omap/Makefile | 2 +
.../omap/omap4-samsung-espresso-common.dtsi | 753 ++++++++++++++++++
.../dts/ti/omap/omap4-samsung-espresso10.dts | 104 +++
.../dts/ti/omap/omap4-samsung-espresso7.dts | 70 ++
arch/arm/boot/dts/ti/omap/twl6032.dtsi | 77 ++
9 files changed, 1015 insertions(+)
create mode 100644 arch/arm/boot/dts/ti/omap/omap4-samsung-espresso-common.dtsi
create mode 100644 arch/arm/boot/dts/ti/omap/omap4-samsung-espresso10.dts
create mode 100644 arch/arm/boot/dts/ti/omap/omap4-samsung-espresso7.dts
create mode 100644 arch/arm/boot/dts/ti/omap/twl6032.dtsi
--
2.43.0
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v6 1/8] ARM: dts: twl6032: Add DTS file for TWL6032 PMIC
2026-02-19 21:03 [PATCH v6 0/8] Initial support for Samsung Galaxy Tab 2 series Mithil Bavishi
@ 2026-02-19 21:04 ` Mithil Bavishi
2026-02-19 21:04 ` [PATCH v6 2/8] dt-bindings: vendor-prefixes: Add Doestek Mithil Bavishi
` (6 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Mithil Bavishi @ 2026-02-19 21:04 UTC (permalink / raw)
To: aaro.koskinen, airlied, andreas, conor+dt, jernej.skrabec, jonas,
khilman, krzk+dt, laurent.pinchart, maarten.lankhorst, mripard,
neil.armstrong, prabhakar.mahadev-lad.rj, jesszhan0024, rfoss,
robh, rogerq, simona, thierry.reding, tony, tzimmermann,
andrzej.hajda, bavishimithil
Cc: devicetree, dri-devel, linux-kernel, linux-omap
Add a dedicated DTS file for the TWL6032 PMIC (Phoenix Lite). Already
has driver support with TWL6030 (Phoenix) since both of them are so
similar, some nodes can be reused from TWL6030 as well
This can be included in the board files like twl6030
Example:
...
&i2c1 {
twl: twl@48 {
reg = <0x48>;
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
interrupt-controller;
interrupt-parent = <&gic>;
};
};
/include/ "twl6032.dtsi"
...
Used in devices like samsung-espresso, amazon-jem, epson-embt2ws etc
Signed-off-by: Mithil Bavishi <bavishimithil@gmail.com>
---
arch/arm/boot/dts/ti/omap/twl6032.dtsi | 77 ++++++++++++++++++++++++++
1 file changed, 77 insertions(+)
create mode 100644 arch/arm/boot/dts/ti/omap/twl6032.dtsi
diff --git a/arch/arm/boot/dts/ti/omap/twl6032.dtsi b/arch/arm/boot/dts/ti/omap/twl6032.dtsi
new file mode 100644
index 000000000..d599a2ca6
--- /dev/null
+++ b/arch/arm/boot/dts/ti/omap/twl6032.dtsi
@@ -0,0 +1,77 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Integrated Power Management Chip
+ * https://www.ti.com/lit/ds/symlink/twl6032.pdf
+ */
+
+&twl {
+ compatible = "ti,twl6032";
+ interrupt-controller;
+ #interrupt-cells = <1>;
+
+ rtc {
+ compatible = "ti,twl4030-rtc";
+ interrupts = <11>;
+ };
+
+ vio: regulator-vio {
+ compatible = "ti,twl6032-vio";
+ };
+
+ ldo1: regulator-ldo1 {
+ compatible = "ti,twl6032-ldo1";
+ };
+
+ ldo2: regulator-ldo2 {
+ compatible = "ti,twl6032-ldo2";
+ };
+
+ ldo3: regulator-ldo3 {
+ compatible = "ti,twl6032-ldo3";
+ };
+
+ ldo4: regulator-ldo4 {
+ compatible = "ti,twl6032-ldo4";
+ };
+
+ ldo5: regulator-ldo5 {
+ compatible = "ti,twl6032-ldo5";
+ };
+
+ ldo6: regulator-ldo6 {
+ compatible = "ti,twl6032-ldo6";
+ };
+
+ ldoln: regulator-ldoln {
+ compatible = "ti,twl6032-ldoln";
+ };
+
+ ldousb: regulator-ldousb {
+ compatible = "ti,twl6032-ldousb";
+ };
+
+ smps4: regulator-smps4 {
+ compatible = "ti,twl6032-smps4";
+ };
+
+ gpadc: gpadc {
+ compatible = "ti,twl6032-gpadc";
+ interrupts = <3>;
+ #io-channel-cells = <1>;
+ };
+
+ twl_usb_comparator: usb-comparator {
+ compatible = "ti,twl6030-usb";
+ interrupts = <4>, <10>;
+ };
+
+ twl_pwm: pwm {
+ compatible = "ti,twl6030-pwm";
+ #pwm-cells = <2>;
+ };
+
+ twl_pwmled: pwmled {
+ compatible = "ti,twl6030-pwmled";
+ #pwm-cells = <2>;
+ };
+};
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v6 2/8] dt-bindings: vendor-prefixes: Add Doestek
2026-02-19 21:03 [PATCH v6 0/8] Initial support for Samsung Galaxy Tab 2 series Mithil Bavishi
2026-02-19 21:04 ` [PATCH v6 1/8] ARM: dts: twl6032: Add DTS file for TWL6032 PMIC Mithil Bavishi
@ 2026-02-19 21:04 ` Mithil Bavishi
2026-02-19 21:04 ` [PATCH v6 3/8] dt-bindings: display: bridge: lvds-codec: add doestek,dtc34lm85am Mithil Bavishi
` (5 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Mithil Bavishi @ 2026-02-19 21:04 UTC (permalink / raw)
To: aaro.koskinen, airlied, andreas, conor+dt, jernej.skrabec, jonas,
khilman, krzk+dt, laurent.pinchart, maarten.lankhorst, mripard,
neil.armstrong, prabhakar.mahadev-lad.rj, jesszhan0024, rfoss,
robh, rogerq, simona, thierry.reding, tony, tzimmermann,
andrzej.hajda, bavishimithil
Cc: devicetree, dri-devel, linux-kernel, linux-omap,
Krzysztof Kozlowski
Add vendor prefix for Doestek Co., Ltd.
Link: http://www.doestek.co.kr/
Signed-off-by: Mithil Bavishi <bavishimithil@gmail.com>
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
---
Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index c7591b2ae..70a195fc6 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -437,6 +437,8 @@ patternProperties:
description: D-Link Corporation
"^dmo,.*":
description: Data Modul AG
+ "^doestek,.*":
+ description: Doestek Co., Ltd.
"^domintech,.*":
description: Domintech Co., Ltd.
"^dongwoon,.*":
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v6 3/8] dt-bindings: display: bridge: lvds-codec: add doestek,dtc34lm85am
2026-02-19 21:03 [PATCH v6 0/8] Initial support for Samsung Galaxy Tab 2 series Mithil Bavishi
2026-02-19 21:04 ` [PATCH v6 1/8] ARM: dts: twl6032: Add DTS file for TWL6032 PMIC Mithil Bavishi
2026-02-19 21:04 ` [PATCH v6 2/8] dt-bindings: vendor-prefixes: Add Doestek Mithil Bavishi
@ 2026-02-19 21:04 ` Mithil Bavishi
2026-02-19 21:04 ` [PATCH v6 4/8] dt-bindings: display: panel-lvds: Add compatibles for Samsung LTN070NL01 and LTN101AL03 panels Mithil Bavishi
` (4 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Mithil Bavishi @ 2026-02-19 21:04 UTC (permalink / raw)
To: aaro.koskinen, airlied, andreas, conor+dt, jernej.skrabec, jonas,
khilman, krzk+dt, laurent.pinchart, maarten.lankhorst, mripard,
neil.armstrong, prabhakar.mahadev-lad.rj, jesszhan0024, rfoss,
robh, rogerq, simona, thierry.reding, tony, tzimmermann,
andrzej.hajda, bavishimithil
Cc: devicetree, dri-devel, linux-kernel, linux-omap,
Krzysztof Kozlowski
Add compatible strings for the Doestek DTC34LM85AM Flat Panel Display
Transmitter
Signed-off-by: Mithil Bavishi <bavishimithil@gmail.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml b/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml
index 4f7d3e9cf..3ad01645c 100644
--- a/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml
+++ b/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml
@@ -33,6 +33,7 @@ properties:
oneOf:
- items:
- enum:
+ - doestek,dtc34lm85am # For the Doestek DTC34LM85AM Flat Panel Display (FPD) Transmitter
- ti,ds90c185 # For the TI DS90C185 FPD-Link Serializer
- ti,ds90c187 # For the TI DS90C187 FPD-Link Serializer
- ti,sn75lvds83 # For the TI SN75LVDS83 FlatLink transmitter
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v6 4/8] dt-bindings: display: panel-lvds: Add compatibles for Samsung LTN070NL01 and LTN101AL03 panels
2026-02-19 21:03 [PATCH v6 0/8] Initial support for Samsung Galaxy Tab 2 series Mithil Bavishi
` (2 preceding siblings ...)
2026-02-19 21:04 ` [PATCH v6 3/8] dt-bindings: display: bridge: lvds-codec: add doestek,dtc34lm85am Mithil Bavishi
@ 2026-02-19 21:04 ` Mithil Bavishi
2026-02-19 21:04 ` [PATCH v6 5/8] ARM: dts: ti: omap: espresso-common: Add common device tree for Samsung Galaxy Tab 2 series Mithil Bavishi
` (3 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Mithil Bavishi @ 2026-02-19 21:04 UTC (permalink / raw)
To: aaro.koskinen, airlied, andreas, conor+dt, jernej.skrabec, jonas,
khilman, krzk+dt, laurent.pinchart, maarten.lankhorst, mripard,
neil.armstrong, prabhakar.mahadev-lad.rj, jesszhan0024, rfoss,
robh, rogerq, simona, thierry.reding, tony, tzimmermann,
andrzej.hajda, bavishimithil
Cc: devicetree, dri-devel, linux-kernel, linux-omap,
Krzysztof Kozlowski
The LTN070NL01 is a 7.0 inch 1024x600, 24 bit, VESA Compatible, TFT
display panel
The LTN101AL03 is a 10.1 inch 800x1280, 24 bit, VESA Compatible, TFT
display panel
Signed-off-by: Mithil Bavishi <bavishimithil@gmail.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
.../devicetree/bindings/display/panel/panel-lvds.yaml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml b/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
index dbc01e640..b31c67bab 100644
--- a/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
+++ b/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
@@ -58,6 +58,10 @@ properties:
- hydis,hv070wx2-1e0
# Jenson Display BL-JT60050-01A 7" WSVGA (1024x600) color TFT LCD LVDS panel
- jenson,bl-jt60050-01a
+ # Samsung LTN070NL01 7.0" WSVGA (1024x600) TFT LCD LVDS panel
+ - samsung,ltn070nl01
+ # Samsung LTN101AL03 10.1" WXGA (800x1280) TFT LCD LVDS panel
+ - samsung,ltn101al03
- tbs,a711-panel
# Winstar WF70A8SYJHLNGA 7" WSVGA (1024x600) color TFT LCD LVDS panel
- winstar,wf70a8syjhlnga
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v6 5/8] ARM: dts: ti: omap: espresso-common: Add common device tree for Samsung Galaxy Tab 2 series
2026-02-19 21:03 [PATCH v6 0/8] Initial support for Samsung Galaxy Tab 2 series Mithil Bavishi
` (3 preceding siblings ...)
2026-02-19 21:04 ` [PATCH v6 4/8] dt-bindings: display: panel-lvds: Add compatibles for Samsung LTN070NL01 and LTN101AL03 panels Mithil Bavishi
@ 2026-02-19 21:04 ` Mithil Bavishi
2026-02-20 20:55 ` Andreas Kemnade
2026-02-19 21:04 ` [PATCH v6 6/8] dt-bindings: omap: Add Samsung Galaxy Tab 2 7.0 and 10.1 Mithil Bavishi
` (2 subsequent siblings)
7 siblings, 1 reply; 10+ messages in thread
From: Mithil Bavishi @ 2026-02-19 21:04 UTC (permalink / raw)
To: aaro.koskinen, airlied, andreas, conor+dt, jernej.skrabec, jonas,
khilman, krzk+dt, laurent.pinchart, maarten.lankhorst, mripard,
neil.armstrong, prabhakar.mahadev-lad.rj, jesszhan0024, rfoss,
robh, rogerq, simona, thierry.reding, tony, tzimmermann,
andrzej.hajda, bavishimithil
Cc: devicetree, dri-devel, linux-kernel, linux-omap
Create common device tree for Samsung Espresso series devices
Let's create a common tree for all the variants first, later we can
device specific trees based on their screen sizes
Signed-off-by: Mithil Bavishi <bavishimithil@gmail.com>
---
.../omap/omap4-samsung-espresso-common.dtsi | 753 ++++++++++++++++++
1 file changed, 753 insertions(+)
create mode 100644 arch/arm/boot/dts/ti/omap/omap4-samsung-espresso-common.dtsi
diff --git a/arch/arm/boot/dts/ti/omap/omap4-samsung-espresso-common.dtsi b/arch/arm/boot/dts/ti/omap/omap4-samsung-espresso-common.dtsi
new file mode 100644
index 000000000..ab8e5f39d
--- /dev/null
+++ b/arch/arm/boot/dts/ti/omap/omap4-samsung-espresso-common.dtsi
@@ -0,0 +1,753 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/dts-v1/;
+#include "dt-bindings/gpio/gpio.h"
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/input/input.h>
+#include "omap443x.dtsi"
+
+/ {
+ memory@80000000 {
+ device_type = "memory";
+ reg = <0x80000000 0x40000000>; /* 1 GB */
+ };
+
+ reserved-memory {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ continuous_splash: framebuffer@bef00000{
+ reg = <0xbef00000 (1024 * 600 * 4)>;
+ no-map;
+ };
+ };
+
+ chosen {
+ stdout-path = &uart3;
+ #address-cells = <1>;
+ };
+
+ i2c-gpio5 {
+ compatible = "i2c-gpio";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c5_pins>;
+ sda-gpios = <&gpio4 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ scl-gpios = <&gpio4 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ i2c-gpio,delay-us = <10>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* TODO: SMB136 Charger for 7" variant at 0x4d */
+ };
+
+ i2c-gpio6 {
+ compatible = "i2c-gpio";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c6_pins>;
+ sda-gpios = <&gpio3 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ scl-gpios = <&gpio3 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ i2c-gpio,delay-us = <10>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* TODO: STMPE811 ADC at 0x41 */
+ };
+
+ i2c-gpio7 {
+ compatible = "i2c-gpio";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c7_pins>;
+ sda-gpios = <&gpio2 30 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ scl-gpios = <&gpio2 29 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ i2c-gpio,delay-us = <3>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ fuel-gauge@36 {
+ compatible = "maxim,max17042";
+ reg = <0x36>;
+ pinctrl-0 = <&fuel_alert_irq>;
+ pinctrl-names = "default";
+ interrupt-parent = <&gpio2>;
+ interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
+ maxim,rsns-microohm = <10000>;
+ maxim,over-heat-temp = <500>;
+ maxim,dead-volt = <2500>;
+ maxim,over-volt = <4300>;
+ };
+ };
+
+ reg_espresso_wlan: regulator-espresso-wlan {
+ pinctrl-names = "default";
+ pinctrl-0 = <&wlanen_gpio>;
+ compatible = "regulator-fixed";
+ regulator-name = "espresso_wlan";
+ regulator-max-microvolt = <2000000>;
+ regulator-min-microvolt = <2000000>;
+ gpio = <&gpio4 8 GPIO_ACTIVE_HIGH>; /* GPIO_104 */
+ startup-delay-us = <70000>;
+ regulator-always-on;
+ enable-active-high;
+ };
+
+ wlan_pwrseq: wlan-pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ clocks = <&twl 0>;
+ clock-names = "ext_clock";
+ };
+
+ reg_espresso_internal: regulator-espresso-internal {
+ compatible = "regulator-fixed";
+ regulator-name = "eMMC_LDO";
+ regulator-max-microvolt = <1800000>;
+ regulator-min-microvolt = <1800000>;
+ gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>; /* GPIO_63 */
+ startup-delay-us = <100000>;
+ regulator-boot-on;
+ regulator-always-on;
+ enable-active-high;
+ };
+
+ reg_espresso_external: regulator-espresso-external {
+ compatible = "regulator-fixed";
+ regulator-name = "vmmc1";
+ regulator-max-microvolt = <2800000>;
+ regulator-min-microvolt = <2800000>;
+ gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>; /* GPIO_34 */
+ enable-active-high;
+ };
+
+ reg_touch_ldo_en: regulator-touch-ldo-en {
+ compatible = "regulator-fixed";
+ regulator-name = "touch_ldo_en";
+ regulator-max-microvolt = <2800000>;
+ regulator-min-microvolt = <2800000>;
+ gpios = <&gpio2 22 GPIO_ACTIVE_HIGH>; /* GPIO_54 */
+ regulator-always-on;
+ enable-active-high;
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+ pinctrl-names = "default";
+ pinctrl-0 = <&gpio_keys>;
+
+ key-power {
+ label = "power";
+
+ gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>; /* GPIO_wk3 */
+ linux,code = <KEY_POWER>;
+ wakeup-source;
+ };
+
+ button-volup {
+ linux,code = <KEY_VOLUMEUP>;
+ label = "volume_up"; /* GPIO_wk30 */
+ gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
+ };
+
+ button-voldown {
+ linux,code = <KEY_VOLUMEDOWN>;
+ label = "volume_down"; /* GPIO_wk8 */
+ gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ reg_lcd: regulator-lcd {
+ compatible = "regulator-fixed";
+ regulator-name = "lcd_en";
+ gpios = <&gpio5 7 GPIO_ACTIVE_HIGH>; /* GPIO_135 */
+ regulator-max-microvolt = <3300000>;
+ regulator-min-microvolt = <3300000>;
+ enable-active-high;
+ regulator-boot-on;
+ };
+
+ pwm10: pwm-10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pwm10_default>;
+ compatible = "ti,omap-dmtimer-pwm";
+ #pwm-cells = <3>;
+ ti,timers = <&timer10>;
+ ti,clock-source = <0x00>;
+ };
+
+ lvds-encoder {
+ compatible = "doestek,dtc34lm85am", "lvds-encoder";
+ powerdown-gpios = <&gpio5 8 GPIO_ACTIVE_LOW>; /* GPIO_136 */
+ power-supply = <®_lcd>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ bridge_in: endpoint {
+ remote-endpoint = <&dpi_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ bridge_out: endpoint {
+ remote-endpoint = <&panel_in>;
+ };
+ };
+ };
+ };
+
+ vibrator {
+ compatible = "gpio-vibrator";
+ enable-gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>; /* GPIO_38 */
+ pinctrl-names = "default";
+ pinctrl-0 = <&vibrator_default>;
+ };
+
+ gp2a_shunt: current-sense-shunt {
+ compatible = "current-sense-shunt";
+ io-channels = <&gpadc 4>;
+ shunt-resistor-micro-ohms = <24000000>; /* 24 ohms */
+ #io-channel-cells = <0>;
+ };
+
+ led-ir {
+ compatible = "gpio-ir-tx";
+ gpios = <&gpio2 27 GPIO_ACTIVE_HIGH>; /* GPIO_59 */
+ pinctrl-names = "default";
+ pinctrl-0 = <&ledir_pins>;
+ };
+};
+
+&omap4_pmx_wkup {
+ gpio_keys: gpio-keys-pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x046, WAKEUP_EN | PIN_INPUT | MUX_MODE3)
+ /* sim_cd.gpio_wk3 - EXT_WAKEUP */
+ OMAP4_IOPAD(0x056, WAKEUP_EN | PIN_INPUT | MUX_MODE3)
+ /* fref_clk3_req.gpio_wk30 - VOL_UP */
+ OMAP4_IOPAD(0x05C, WAKEUP_EN | PIN_INPUT | MUX_MODE3)
+ /* fref_clk4_out.gpio_wk8 - VOL_DN */
+ >;
+ };
+
+ prox_irq: prox-irq-pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x042, WAKEUP_EN | PIN_INPUT_PULLUP | MUX_MODE3)
+ /* sim_clk.gpio_wk1 - PS_VOUT */
+ >;
+ };
+};
+
+&omap4_pmx_core {
+ backlight_pins: pinmux-backlight-pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0X0D8, PIN_OUTPUT | PIN_OFF_OUTPUT_LOW | MUX_MODE3)
+ /* usbb1_ulpitll_dat7.gpio_95 - LED_BACKLIGHT_RESET */
+ >;
+ };
+
+ bluetooth_pins: pinmux-bluetooth-pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x094, PIN_OUTPUT | MUX_MODE3)
+ /* gpmc_ncs6.gpio_103 - BT_EN */
+ OMAP4_IOPAD(0x0be, PIN_OUTPUT | MUX_MODE3)
+ /* cam_strobe.gpio_82 - BT_nRST */
+ OMAP4_IOPAD(0x0c0, PIN_INPUT | MUX_MODE3)
+ /* cam_globalreset.gpio_83 - BT_HOST_WAKE */
+ OMAP4_IOPAD(0x0d4, PIN_OUTPUT | MUX_MODE3)
+ /* usbb1_ulpitll_dat5.gpio_93 - BT_WAKE */
+ >;
+ };
+
+ dss_dpi_pins: pinmux-dss-dpi-pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x162, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_data23 */
+ OMAP4_IOPAD(0x164, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_data22 */
+ OMAP4_IOPAD(0x166, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_data21 */
+ OMAP4_IOPAD(0x168, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_data20 */
+ OMAP4_IOPAD(0x16a, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_data19 */
+ OMAP4_IOPAD(0x16c, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_data18 */
+ OMAP4_IOPAD(0x16e, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_data15 */
+ OMAP4_IOPAD(0x170, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_data14 */
+ OMAP4_IOPAD(0x172, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_data13 */
+ OMAP4_IOPAD(0x174, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_data12 */
+ OMAP4_IOPAD(0x176, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_data11 */
+ OMAP4_IOPAD(0x1b4, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_data10 */
+ OMAP4_IOPAD(0x1b6, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_data9 */
+ OMAP4_IOPAD(0x1b8, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_data16 */
+ OMAP4_IOPAD(0x1ba, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_data17 */
+ OMAP4_IOPAD(0x1bc, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_hsync */
+ OMAP4_IOPAD(0x1be, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_pclk */
+ OMAP4_IOPAD(0x1c0, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_vsync */
+ OMAP4_IOPAD(0x1c2, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_de */
+ OMAP4_IOPAD(0x1c4, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_data8 */
+ OMAP4_IOPAD(0x1c6, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_data7 */
+ OMAP4_IOPAD(0x1c8, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_data6 */
+ OMAP4_IOPAD(0x1ca, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_data5 */
+ OMAP4_IOPAD(0x1cc, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_data4 */
+ OMAP4_IOPAD(0x1ce, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_data3 */
+
+ OMAP4_IOPAD(0x1d0, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_data2 */
+ OMAP4_IOPAD(0x1d2, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_data1 */
+ OMAP4_IOPAD(0x1d4, PIN_OFF_OUTPUT_LOW | MUX_MODE5)
+ /* dispc2_data0 */
+ >;
+ };
+
+ fuel_alert_irq: pinmux-fuel-alert-pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x068, PIN_INPUT_PULLUP | MUX_MODE3)
+ /* gpmc_a20.gpio_44 */
+ >;
+ };
+
+ i2c1_pins: pinmux-i2c1-pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0)
+ /* i2c1_scl */
+ OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0)
+ /* i2c1_sda */
+ >;
+ };
+
+ i2c2_pins: pinmux-i2c2-pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0)
+ /* i2c2_scl */
+ OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0)
+ /* i2c2_sda */
+ >;
+ };
+
+ i2c3_pins: pinmux-i2c3-pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0)
+ /* i2c3_scl */
+ OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0)
+ /* i2c3_sda */
+ >;
+ };
+
+ i2c4_pins: pinmux-i2c4-pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0)
+ /* i2c4_scl */
+ OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0)
+ /* i2c4_sda */
+ >;
+ };
+
+ i2c5_pins: pinmux-i2c5-pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x0de, PIN_INPUT_PULLUP | MUX_MODE3)
+ /* usbc1_icusb_dp.gpio_98 */
+ OMAP4_IOPAD(0x0e0, PIN_INPUT_PULLUP | MUX_MODE3)
+ /* usbc1_icusb_dm.gpio_99 */
+ >;
+ };
+
+ i2c6_pins: pinmux-i2c6-pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE3)
+ /* hdmi_ddc_scl.gpio_65 */
+ OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE3)
+ /* hdmi_ddc_sda.gpio_66 */
+ >;
+ };
+
+ i2c7_pins: pinmux-i2c7-pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x08a, PIN_INPUT_PULLUP | MUX_MODE3)
+ /* gpmc_wait0.gpio_61 */
+ OMAP4_IOPAD(0x08c, PIN_INPUT_PULLUP | MUX_MODE3)
+ /* gpmc_wait1.gpio_62 */
+ >;
+ };
+
+ ledir_pins: pimux-ledir-pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x086, PIN_INPUT_PULLDOWN | MUX_MODE7)
+ /* gpmc_nbe0_cle.gpio_59 */
+ OMAP4_IOPAD(0x156, PIN_INPUT_PULLDOWN | MUX_MODE7)
+ /* mcspi4_simo.gpio_152 */
+ >;
+ };
+
+ lvds_pins: pinmux-lvds-pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0X136, PIN_OUTPUT | MUX_MODE3)
+ /* mcspi1_simo.gpio_136 - LVDS_nSHDN */
+ >;
+ };
+
+ mmc1_pins: pinmux-mmc1-pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x0e2, PIN_INPUT_PULLDOWN | MUX_MODE0)
+ /* sdmmc1_clk */
+ OMAP4_IOPAD(0x0e4, PIN_INPUT_PULLUP | MUX_MODE0)
+ /* sdmcc1_cmd */
+ OMAP4_IOPAD(0x0e6, PIN_INPUT_PULLUP | MUX_MODE0)
+ /* sdmcc1_dat0 */
+ OMAP4_IOPAD(0x0e8, PIN_INPUT_PULLUP | MUX_MODE0)
+ /* sdmmc1_dat1 */
+ OMAP4_IOPAD(0x0ea, PIN_INPUT_PULLUP | MUX_MODE0)
+ /* sdmmc1_dat2 */
+ OMAP4_IOPAD(0x0ec, PIN_INPUT_PULLUP | MUX_MODE0)
+ /* sdmmc1_dat3 */
+ >;
+ };
+
+ mmc2_pins: pinmux-mmc2-pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x040, PIN_INPUT_PULLUP | MUX_MODE1)
+ /* sdmmc2_dat0 */
+ OMAP4_IOPAD(0x042, PIN_INPUT_PULLUP | MUX_MODE1)
+ /* sdmmc2_dat1 */
+ OMAP4_IOPAD(0x044, PIN_INPUT_PULLUP | MUX_MODE1)
+ /* sdmmc2_dat2 */
+ OMAP4_IOPAD(0x046, PIN_INPUT_PULLUP | MUX_MODE1)
+ /* sdmmc2_dat3 */
+ OMAP4_IOPAD(0x048, PIN_INPUT_PULLUP | MUX_MODE1)
+ /* sdmmc2_dat4 */
+ OMAP4_IOPAD(0x04a, PIN_INPUT_PULLUP | MUX_MODE1)
+ /* sdmmc2_dat5 */
+ OMAP4_IOPAD(0x04c, PIN_INPUT_PULLUP | MUX_MODE1)
+ /* sdmmc2_dat6 */
+ OMAP4_IOPAD(0x04e, PIN_INPUT_PULLUP | MUX_MODE1)
+ /* sdmmc2_dat7 */
+ OMAP4_IOPAD(0x082, PIN_INPUT_PULLUP | MUX_MODE1)
+ /* sdmmc2_clk */
+ OMAP4_IOPAD(0x084, PIN_INPUT_PULLUP | MUX_MODE1)
+ /* sdmmc2_cmd */
+ >;
+ };
+
+ mmc5_pins: pinmux-mmc5-pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x148, PIN_INPUT_PULLDOWN | MUX_MODE0)
+ /* sdmmc5_clk.sdmmc5_clk */
+ OMAP4_IOPAD(0x14a, PIN_INPUT_PULLUP | MUX_MODE0)
+ /* sdmmc5_cmd.sdmmc5_cmd */
+ OMAP4_IOPAD(0x14c, PIN_INPUT_PULLUP | MUX_MODE0)
+ /* sdmmc5_dat0.sdmmc5_dat0 */
+ OMAP4_IOPAD(0x14e, PIN_INPUT_PULLUP | MUX_MODE0)
+ /* sdmmc5_dat1.sdmmc5_dat1 */
+ OMAP4_IOPAD(0x150, PIN_INPUT_PULLUP | MUX_MODE0)
+ /* sdmmc5_dat2.sdmmc5_dat2 */
+ OMAP4_IOPAD(0x152, PIN_INPUT_PULLUP | MUX_MODE0)
+ /* sdmmc5_dat3.sdmmc5_dat3 */
+ >;
+ };
+
+ pwm10_default: pinmux-pwm10-pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0X0D6, PIN_OUTPUT | PIN_OFF_OUTPUT_LOW | MUX_MODE1)
+ /* usbb1_ulpitll_dat6.dmtimer10_pwm_evt - LED_BACKLIGHT_PWM */
+ >;
+ };
+
+ touch_pins: pinmux-touch-pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x06c, PIN_INPUT | MUX_MODE3)
+ /* gpmc_a22.gpio_46 - TSP_INT */
+ >;
+ };
+
+ uart2_pins: pinmux-uart2-pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x118, PIN_INPUT_PULLUP | MUX_MODE0)
+ /* uart2_cts.uart2_cts */
+ OMAP4_IOPAD(0x11a, PIN_INPUT_PULLUP | MUX_MODE0)
+ /* uart2_rts.uart2_rts */
+ OMAP4_IOPAD(0x11c, PIN_INPUT_PULLUP | MUX_MODE0)
+ /* uart2_rx.uart2_rx */
+ OMAP4_IOPAD(0x11e, PIN_INPUT_PULLUP | MUX_MODE0)
+ /* uart2_tx.uart2_tx */
+ >;
+ };
+
+ uart3_pins: pinmux-uart3-pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x144, PIN_INPUT | MUX_MODE0)
+ /* uart3_rx_irrx */
+ OMAP4_IOPAD(0x146, PIN_OUTPUT | MUX_MODE0)
+ /* uart3_tx_irtx */
+ >;
+ };
+
+ vibrator_default: pinmux-vibrator-pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x05c, PIN_INPUT_PULLDOWN | MUX_MODE3)
+ /* gpmc_ad14.gpio_38 - MOTOR_EN */
+ >;
+ };
+
+ wlanen_gpio: pinmux-wlanen-pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x096, PIN_OUTPUT | MUX_MODE3)
+ /* gpmc_ncs7.gpio_104 */
+ >;
+ };
+
+ wlan_host_wake: pinmux-wlan-host-wake-pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x0bc, PIN_INPUT | MUX_MODE3)
+ /* cam_shutter.gpio_81 - WLAN_HOST_WAKE */
+ >;
+ };
+};
+
+&uart3 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart3_pins>;
+
+ interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
+ &omap4_pmx_core OMAP4_UART3_RX>;
+};
+
+&i2c1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c1_pins>;
+
+ clock-frequency = <400000>;
+
+ twl: pmic@48 {
+ reg = <0x48>;
+ #clock-cells = <1>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <
+ &twl6030_pins
+ &twl6030_wkup_pins
+ >;
+
+ /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
+ interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
+ interrupt-parent = <&gic>;
+ system-power-controller;
+ };
+};
+
+#include "twl6032.dtsi"
+#include "twl6030_omap4.dtsi"
+
+&ldo1 {
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+};
+
+&ldo3 {
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+};
+
+&ldo4 {
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-always-on;
+};
+
+&ldo5 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+};
+
+&ldo6 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+};
+
+&smps4 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+};
+
+&ldousb {
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+};
+
+&i2c2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c2_pins>;
+};
+
+&i2c3 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c3_pins>;
+};
+
+&i2c4 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c4_pins>;
+
+ accelerometer@18 {
+ compatible = "bosch,bma254";
+ reg = <0x18>;
+ vdd-supply = <&ldo4>;
+ vddio-supply = <&ldo5>;
+ interrupt-parent = <&gpio4>;
+ interrupts = <25 (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING)>,
+ <26 (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING)>;
+ };
+
+ magnetometer@2e {
+ compatible = "yamaha,yas530";
+ reg = <0x2e>;
+ vdd-supply = <&ldo4>;
+ iovdd-supply = <&ldo5>;
+ reset-gpios = <&gpio5 29 GPIO_ACTIVE_LOW>;
+ interrupts = <&gpio6 10 IRQ_TYPE_EDGE_RISING>;
+ };
+
+ light-sensor@44 {
+ compatible = "sharp,gp2ap002a00f";
+ reg = <0x44>;
+ interrupt-parent = <&gpio1>;
+ interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
+ vdd-supply = <&ldo4>;
+ vio-supply = <&ldo4>;
+ io-channels = <&gp2a_shunt>;
+ io-channel-names = "alsout";
+ sharp,proximity-far-hysteresis = /bits/ 8 <0x40>;
+ sharp,proximity-close-hysteresis = /bits/ 8 <0x20>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&prox_irq>;
+ };
+};
+
+&dss {
+ status = "okay";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&dss_dpi_pins>;
+
+ port {
+ dpi_out: endpoint {
+ remote-endpoint = <&bridge_in>;
+ data-lines = <24>;
+ };
+ };
+};
+
+&twl_usb_comparator {
+ usb-supply = <&ldousb>;
+};
+
+&usb_otg_hs {
+ interface-type = <1>;
+ mode = <3>;
+ power = <50>;
+};
+
+&mmc1 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc1_pins>;
+
+ vmmc-supply = <®_espresso_external>;
+ bus-width = <4>;
+};
+
+&mmc2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc2_pins>;
+
+ vmmc-supply = <®_espresso_internal>;
+ ti,non-removable;
+ bus-width = <8>;
+};
+
+&mmc3 {
+ status = "disabled";
+};
+
+&mmc4 {
+ status = "disabled";
+};
+
+&mmc5 {
+ status = "okay";
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ non-removable;
+ bus-width = <4>;
+ vmmc-supply = <®_espresso_wlan>;
+ mmc-pwrseq = <&wlan_pwrseq>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc5_pins>;
+
+ brcmf: wifi@1 {
+ compatible = "brcm,bcm4330-fmac", "brcm,bcm4329-fmac";
+ reg = <1>;
+
+ interrupt-parent = <&gpio3>;
+ interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "host-wake";
+ pinctrl-names = "default";
+ pinctrl-0 = <&wlan_host_wake>;
+ };
+};
+
+&uart2 {
+ interrupts-extended = <&wakeupgen GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH
+ &omap4_pmx_core OMAP4_UART2_RX>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart2_pins>;
+ bluetooth {
+ compatible = "brcm,bcm4330-bt";
+ pinctrl-names = "default";
+ pinctrl-0 = <&bluetooth_pins>;
+ shutdown-gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>;
+ reset-gpios = <&gpio3 18 GPIO_ACTIVE_LOW>;
+ device-wakeup-gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;
+ interrupt-parent = <&gpio3>;
+ interrupts = <19 IRQ_TYPE_EDGE_FALLING>;
+ interrupt-names = "host-wakeup";
+ };
+};
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v6 6/8] dt-bindings: omap: Add Samsung Galaxy Tab 2 7.0 and 10.1
2026-02-19 21:03 [PATCH v6 0/8] Initial support for Samsung Galaxy Tab 2 series Mithil Bavishi
` (4 preceding siblings ...)
2026-02-19 21:04 ` [PATCH v6 5/8] ARM: dts: ti: omap: espresso-common: Add common device tree for Samsung Galaxy Tab 2 series Mithil Bavishi
@ 2026-02-19 21:04 ` Mithil Bavishi
2026-02-19 21:04 ` [PATCH v6 7/8] ARM: dts: ti: omap: samsung-espresso7: Add initial support for Galaxy Tab 2 7.0 Mithil Bavishi
2026-02-19 21:04 ` [PATCH v6 8/8] ARM: dts: ti: omap: samsung-espresso10: Add initial support for Galaxy Tab 2 10.1 Mithil Bavishi
7 siblings, 0 replies; 10+ messages in thread
From: Mithil Bavishi @ 2026-02-19 21:04 UTC (permalink / raw)
To: aaro.koskinen, airlied, andreas, conor+dt, jernej.skrabec, jonas,
khilman, krzk+dt, laurent.pinchart, maarten.lankhorst, mripard,
neil.armstrong, prabhakar.mahadev-lad.rj, jesszhan0024, rfoss,
robh, rogerq, simona, thierry.reding, tony, tzimmermann,
andrzej.hajda, bavishimithil
Cc: devicetree, dri-devel, linux-kernel, linux-omap,
Krzysztof Kozlowski
Add samsung-espresso7 codename for the 7 inch variant
Add samsung-espresso10 codename for the 10 inch variant
Signed-off-by: Mithil Bavishi <bavishimithil@gmail.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
---
Documentation/devicetree/bindings/arm/ti/omap.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/ti/omap.yaml b/Documentation/devicetree/bindings/arm/ti/omap.yaml
index 14f1b9d8f..f694dcbf2 100644
--- a/Documentation/devicetree/bindings/arm/ti/omap.yaml
+++ b/Documentation/devicetree/bindings/arm/ti/omap.yaml
@@ -144,6 +144,8 @@ properties:
- motorola,droid-bionic # Motorola Droid Bionic XT875
- motorola,xyboard-mz609
- motorola,xyboard-mz617
+ - samsung,espresso7
+ - samsung,espresso10
- ti,omap4-panda
- ti,omap4-sdp
- const: ti,omap4430
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v6 7/8] ARM: dts: ti: omap: samsung-espresso7: Add initial support for Galaxy Tab 2 7.0
2026-02-19 21:03 [PATCH v6 0/8] Initial support for Samsung Galaxy Tab 2 series Mithil Bavishi
` (5 preceding siblings ...)
2026-02-19 21:04 ` [PATCH v6 6/8] dt-bindings: omap: Add Samsung Galaxy Tab 2 7.0 and 10.1 Mithil Bavishi
@ 2026-02-19 21:04 ` Mithil Bavishi
2026-02-19 21:04 ` [PATCH v6 8/8] ARM: dts: ti: omap: samsung-espresso10: Add initial support for Galaxy Tab 2 10.1 Mithil Bavishi
7 siblings, 0 replies; 10+ messages in thread
From: Mithil Bavishi @ 2026-02-19 21:04 UTC (permalink / raw)
To: aaro.koskinen, airlied, andreas, conor+dt, jernej.skrabec, jonas,
khilman, krzk+dt, laurent.pinchart, maarten.lankhorst, mripard,
neil.armstrong, prabhakar.mahadev-lad.rj, jesszhan0024, rfoss,
robh, rogerq, simona, thierry.reding, tony, tzimmermann,
andrzej.hajda, bavishimithil
Cc: devicetree, dri-devel, linux-kernel, linux-omap
Create a device tree for the 7 inch variants (P3100, P3110, P3113)
Signed-off-by: Mithil Bavishi <bavishimithil@gmail.com>
---
arch/arm/boot/dts/ti/omap/Makefile | 1 +
.../dts/ti/omap/omap4-samsung-espresso7.dts | 70 +++++++++++++++++++
2 files changed, 71 insertions(+)
create mode 100644 arch/arm/boot/dts/ti/omap/omap4-samsung-espresso7.dts
diff --git a/arch/arm/boot/dts/ti/omap/Makefile b/arch/arm/boot/dts/ti/omap/Makefile
index 14e500846..d24f13efd 100644
--- a/arch/arm/boot/dts/ti/omap/Makefile
+++ b/arch/arm/boot/dts/ti/omap/Makefile
@@ -80,6 +80,7 @@ dtb-$(CONFIG_ARCH_OMAP4) += \
omap4-sdp-es23plus.dtb \
omap4-var-dvk-om44.dtb \
omap4-var-stk-om44.dtb \
+ omap4-samsung-espresso7.dtb \
omap4-xyboard-mz609.dtb \
omap4-xyboard-mz617.dtb
dtb-$(CONFIG_SOC_AM33XX) += \
diff --git a/arch/arm/boot/dts/ti/omap/omap4-samsung-espresso7.dts b/arch/arm/boot/dts/ti/omap/omap4-samsung-espresso7.dts
new file mode 100644
index 000000000..cae37ff06
--- /dev/null
+++ b/arch/arm/boot/dts/ti/omap/omap4-samsung-espresso7.dts
@@ -0,0 +1,70 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/dts-v1/;
+
+#include "omap4-samsung-espresso-common.dtsi"
+
+/ {
+ model = "Samsung Galaxy Tab 2 (7 inch)";
+ compatible = "samsung,espresso7", "ti,omap4430", "ti,omap4";
+
+ backlight: backlight {
+ compatible = "pwm-backlight";
+ pinctrl-names = "default";
+ pinctrl-0 = <&backlight_pins>;
+ pwms = <&pwm10 0 1200 0>;
+ power-supply = <®_lcd>;
+ enable-gpios = <&gpio3 31 GPIO_ACTIVE_HIGH>;
+ brightness-levels = <0 4 8 16 32 64 128 255>;
+ default-brightness-level = <2>;
+ };
+
+ panel {
+ compatible = "samsung,ltn070nl01", "panel-lvds";
+ power-supply = <®_lcd>;
+ width-mm = <154>;
+ height-mm = <90>;
+ data-mapping = "vesa-24";
+ backlight = <&backlight>;
+
+ panel-timing {
+ clock-frequency = <47255554>;
+
+ hback-porch = <210>;
+ hactive = <1024>;
+ hfront-porch = <186>;
+ hsync-len = <50>;
+
+ vback-porch = <11>;
+ vactive = <600>;
+ vfront-porch = <24>;
+ vsync-len = <10>;
+
+ hsync-active = <0>;
+ vsync-active = <0>;
+ de-active = <1>;
+ pixelclk-active = <1>;
+ syncclk-active = <0>;
+ };
+
+ port {
+ panel_in: endpoint {
+ remote-endpoint = <&bridge_out>;
+ };
+ };
+ };
+};
+
+&i2c3 {
+ touchscreen@48 {
+ compatible = "melfas,mms136";
+ reg = <0x48>;
+ interrupt-parent = <&gpio2>;
+ interrupts = <14 IRQ_TYPE_EDGE_FALLING>;
+ touchscreen-size-x = <1024>;
+ touchscreen-size-y = <600>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&touch_pins>;
+ avdd-supply = <®_touch_ldo_en>;
+ vdd-supply = <&ldo6>;
+ };
+};
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v6 8/8] ARM: dts: ti: omap: samsung-espresso10: Add initial support for Galaxy Tab 2 10.1
2026-02-19 21:03 [PATCH v6 0/8] Initial support for Samsung Galaxy Tab 2 series Mithil Bavishi
` (6 preceding siblings ...)
2026-02-19 21:04 ` [PATCH v6 7/8] ARM: dts: ti: omap: samsung-espresso7: Add initial support for Galaxy Tab 2 7.0 Mithil Bavishi
@ 2026-02-19 21:04 ` Mithil Bavishi
7 siblings, 0 replies; 10+ messages in thread
From: Mithil Bavishi @ 2026-02-19 21:04 UTC (permalink / raw)
To: aaro.koskinen, airlied, andreas, conor+dt, jernej.skrabec, jonas,
khilman, krzk+dt, laurent.pinchart, maarten.lankhorst, mripard,
neil.armstrong, prabhakar.mahadev-lad.rj, jesszhan0024, rfoss,
robh, rogerq, simona, thierry.reding, tony, tzimmermann,
andrzej.hajda, bavishimithil
Cc: devicetree, dri-devel, linux-kernel, linux-omap
Create a device tree for the 10 inch variants (P5100, P5110, P5113)
Signed-off-by: Mithil Bavishi <bavishimithil@gmail.com>
---
arch/arm/boot/dts/ti/omap/Makefile | 1 +
.../dts/ti/omap/omap4-samsung-espresso10.dts | 104 ++++++++++++++++++
2 files changed, 105 insertions(+)
create mode 100644 arch/arm/boot/dts/ti/omap/omap4-samsung-espresso10.dts
diff --git a/arch/arm/boot/dts/ti/omap/Makefile b/arch/arm/boot/dts/ti/omap/Makefile
index d24f13efd..140ac39b3 100644
--- a/arch/arm/boot/dts/ti/omap/Makefile
+++ b/arch/arm/boot/dts/ti/omap/Makefile
@@ -81,6 +81,7 @@ dtb-$(CONFIG_ARCH_OMAP4) += \
omap4-var-dvk-om44.dtb \
omap4-var-stk-om44.dtb \
omap4-samsung-espresso7.dtb \
+ omap4-samsung-espresso10.dtb \
omap4-xyboard-mz609.dtb \
omap4-xyboard-mz617.dtb
dtb-$(CONFIG_SOC_AM33XX) += \
diff --git a/arch/arm/boot/dts/ti/omap/omap4-samsung-espresso10.dts b/arch/arm/boot/dts/ti/omap/omap4-samsung-espresso10.dts
new file mode 100644
index 000000000..5c00d67ac
--- /dev/null
+++ b/arch/arm/boot/dts/ti/omap/omap4-samsung-espresso10.dts
@@ -0,0 +1,104 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/dts-v1/;
+
+#include "omap4-samsung-espresso-common.dtsi"
+#include <dt-bindings/power/summit,smb347-charger.h>
+/ {
+ model = "Samsung Galaxy Tab 2 (10 inch)";
+ compatible = "samsung,espresso10", "ti,omap4430", "ti,omap4";
+
+ i2c-gpio5 {
+ smb347: charger@6 {
+ compatible = "summit,smb347";
+ reg = <0x6>; // 0x0C >> 1
+ interrupt-parent = <&gpio2>;
+ interrupts = <0 IRQ_TYPE_EDGE_BOTH>;
+
+ summit,enable-usb-charging;
+ summit,enable-charge-control = <SMB3XX_CHG_ENABLE_SW>;
+ summit,chip-temperature-threshold-celsius = <120>;
+ summit,usb-current-limit-microamp = <1800000>;
+ };
+ };
+
+ backlight: backlight {
+ compatible = "pwm-backlight";
+ pinctrl-names = "default";
+ pinctrl-0 = <&backlight_pins>;
+ pwms = <&pwm10 0 1600 0>;
+ power-supply = <®_lcd>;
+ enable-gpios = <&gpio3 31 GPIO_ACTIVE_HIGH>;
+ brightness-levels = <0 4 8 16 32 64 128 255>;
+ default-brightness-level = <7>;
+ };
+
+ panel {
+ compatible = "samsung,ltn101al03", "panel-lvds";
+ power-supply = <®_lcd>;
+ width-mm = <223>;
+ height-mm = <125>;
+ data-mapping = "vesa-24";
+ backlight = <&backlight>;
+
+ panel-timing {
+ clock-frequency = <69818000>;
+
+ hback-porch = <64>;
+ hactive = <1280>;
+ hfront-porch = <16>;
+ hsync-len = <48>;
+
+ vback-porch = <11>;
+ vactive = <800>;
+ vfront-porch = <16>;
+ vsync-len = <3>;
+
+ hsync-active = <0>;
+ vsync-active = <0>;
+ de-active = <1>;
+ pixelclk-active = <1>;
+ };
+
+ port {
+ panel_in: endpoint {
+ remote-endpoint = <&bridge_out>;
+ };
+ };
+ };
+};
+
+&i2c3 {
+ touchscreen@20 {
+ compatible = "syna,rmi4-i2c";
+ reg = <0x20>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ interrupt-parent = <&gpio2>;
+ interrupts = <14 IRQ_TYPE_EDGE_FALLING>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&touch_pins>;
+
+ //avdd-supply = <®_touch_ldo_en>;
+ vdd-supply = <&ldo6>;
+
+ syna,reset-delay-ms = <200>;
+ syna,startup-delay-ms = <200>;
+
+ touchscreen-size-x = <1280>;
+ touchscreen-size-y = <800>;
+
+ rmi4-f01@1 {
+ reg = <0x01>;
+ syna,nosleep-mode = <1>;
+ };
+
+ rmi4-f11@11 {
+ reg = <0x11>;
+ touchscreen-size-x = <1280>;
+ touchscreen-size-y = <800>;
+ syna,sensor-type = <1>;
+ };
+ };
+};
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v6 5/8] ARM: dts: ti: omap: espresso-common: Add common device tree for Samsung Galaxy Tab 2 series
2026-02-19 21:04 ` [PATCH v6 5/8] ARM: dts: ti: omap: espresso-common: Add common device tree for Samsung Galaxy Tab 2 series Mithil Bavishi
@ 2026-02-20 20:55 ` Andreas Kemnade
0 siblings, 0 replies; 10+ messages in thread
From: Andreas Kemnade @ 2026-02-20 20:55 UTC (permalink / raw)
To: Mithil Bavishi
Cc: aaro.koskinen, airlied, conor+dt, jernej.skrabec, jonas, khilman,
krzk+dt, laurent.pinchart, maarten.lankhorst, mripard,
neil.armstrong, prabhakar.mahadev-lad.rj, jesszhan0024, rfoss,
robh, rogerq, simona, thierry.reding, tony, tzimmermann,
andrzej.hajda, devicetree, dri-devel, linux-kernel, linux-omap
On Thu, 19 Feb 2026 16:04:04 -0500
Mithil Bavishi <bavishimithil@gmail.com> wrote:
> Create common device tree for Samsung Espresso series devices
>
> Let's create a common tree for all the variants first, later we can
> device specific trees based on their screen sizes
>
Imperative mood.
> Signed-off-by: Mithil Bavishi <bavishimithil@gmail.com>
> ---
[...]
> +&omap4_pmx_wkup {
> + gpio_keys: gpio-keys-pins {
> + pinctrl-single,pins = <
> + OMAP4_IOPAD(0x046, WAKEUP_EN | PIN_INPUT | MUX_MODE3)
> + /* sim_cd.gpio_wk3 - EXT_WAKEUP */
> + OMAP4_IOPAD(0x056, WAKEUP_EN | PIN_INPUT | MUX_MODE3)
> + /* fref_clk3_req.gpio_wk30 - VOL_UP */
> + OMAP4_IOPAD(0x05C, WAKEUP_EN | PIN_INPUT | MUX_MODE3)
> + /* fref_clk4_out.gpio_wk8 - VOL_DN */
> + >;
> + };
> +
> + prox_irq: prox-irq-pins {
> + pinctrl-single,pins = <
> + OMAP4_IOPAD(0x042, WAKEUP_EN | PIN_INPUT_PULLUP | MUX_MODE3)
> + /* sim_clk.gpio_wk1 - PS_VOUT */
> + >;
> + };
According to
https://www.ti.com/lit/ug/swpu231ap/swpu231ap.pdf
Table 3-327
the gpio1 cntroller is always active. So here the WAKEUP_EN is not
needed at all (so also no additional irq required).
Regards,
Andreas
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-02-20 20:55 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-19 21:03 [PATCH v6 0/8] Initial support for Samsung Galaxy Tab 2 series Mithil Bavishi
2026-02-19 21:04 ` [PATCH v6 1/8] ARM: dts: twl6032: Add DTS file for TWL6032 PMIC Mithil Bavishi
2026-02-19 21:04 ` [PATCH v6 2/8] dt-bindings: vendor-prefixes: Add Doestek Mithil Bavishi
2026-02-19 21:04 ` [PATCH v6 3/8] dt-bindings: display: bridge: lvds-codec: add doestek,dtc34lm85am Mithil Bavishi
2026-02-19 21:04 ` [PATCH v6 4/8] dt-bindings: display: panel-lvds: Add compatibles for Samsung LTN070NL01 and LTN101AL03 panels Mithil Bavishi
2026-02-19 21:04 ` [PATCH v6 5/8] ARM: dts: ti: omap: espresso-common: Add common device tree for Samsung Galaxy Tab 2 series Mithil Bavishi
2026-02-20 20:55 ` Andreas Kemnade
2026-02-19 21:04 ` [PATCH v6 6/8] dt-bindings: omap: Add Samsung Galaxy Tab 2 7.0 and 10.1 Mithil Bavishi
2026-02-19 21:04 ` [PATCH v6 7/8] ARM: dts: ti: omap: samsung-espresso7: Add initial support for Galaxy Tab 2 7.0 Mithil Bavishi
2026-02-19 21:04 ` [PATCH v6 8/8] ARM: dts: ti: omap: samsung-espresso10: Add initial support for Galaxy Tab 2 10.1 Mithil Bavishi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox