* [PATCH 0/2] Add support for Samsung Galaxy Tab A 10.1 (2019, 4G)
@ 2026-11-09 20:07 Umer Uddin via B4 Relay
2026-11-09 20:07 ` [PATCH 1/2] dt-bindings: arm: samsung: samsung-boards: Add bindings for SM-T515 board Umer Uddin via B4 Relay
2026-11-09 20:07 ` [PATCH 2/2] arm64: exynos: Add initial support for Samsung Galaxy Tab A 10.1 (2019, 4G) Umer Uddin via B4 Relay
0 siblings, 2 replies; 4+ messages in thread
From: Umer Uddin via B4 Relay @ 2026-11-09 20:07 UTC (permalink / raw)
To: Krzysztof Kozlowski, Peter Griffin, Alim Akhtar, Rob Herring,
Conor Dooley, Krzysztof Kozlowski
Cc: linux-arm-kernel, linux-samsung-soc, devicetree, linux-kernel,
Umer Uddin
Hi guys,
This series adds support for Samsung Galaxy Tab A 10.1 (2019, 4G).
The device trees have been tested with dtbs_check W=1
and results in no warnings.
This initial bringup consists of:
* pinctrl
* internal eMMC
* gpio-keys
* simple-framebuffer
This is enough to reach a shell in an initramfs. More platform support
will be added in the future.
The preferred way to boot kernel is by using a shim bootloader called
uniLoader [1], which works around some issues with the stock bootloader,
primarily the decon trigger control quirk, causing the framebuffer to not
refresh.
[1] https://github.com/ivoszbg/uniLoader
Signed-off-by: Umer Uddin <umer.uddin@mentallysanemainliners.org>
---
Umer Uddin (2):
dt-bindings: arm: samsung: samsung-boards: Add bindings for SM-T515 board
arm64: exynos: Add initial support for Samsung Galaxy Tab A 10.1 (2019, 4G)
.../bindings/arm/samsung/samsung-boards.yaml | 1 +
arch/arm64/boot/dts/exynos/Makefile | 1 +
.../arm64/boot/dts/exynos/exynos7885-gta3xllte.dts | 130 +++++++++++++++++++++
3 files changed, 132 insertions(+)
---
base-commit: c916d326360966fa41b1d9c3fb659215053387f5
change-id: 20261109-gta3xllte-support-f64df476d3c6
Best regards,
--
Umer Uddin <umer.uddin@mentallysanemainliners.org>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/2] dt-bindings: arm: samsung: samsung-boards: Add bindings for SM-T515 board
2026-11-09 20:07 [PATCH 0/2] Add support for Samsung Galaxy Tab A 10.1 (2019, 4G) Umer Uddin via B4 Relay
@ 2026-11-09 20:07 ` Umer Uddin via B4 Relay
2026-11-09 20:07 ` [PATCH 2/2] arm64: exynos: Add initial support for Samsung Galaxy Tab A 10.1 (2019, 4G) Umer Uddin via B4 Relay
1 sibling, 0 replies; 4+ messages in thread
From: Umer Uddin via B4 Relay @ 2026-11-09 20:07 UTC (permalink / raw)
To: Krzysztof Kozlowski, Peter Griffin, Alim Akhtar, Rob Herring,
Conor Dooley, Krzysztof Kozlowski
Cc: linux-arm-kernel, linux-samsung-soc, devicetree, linux-kernel,
Umer Uddin
From: Umer Uddin <umer.uddin@mentallysanemainliners.org>
Add devicetree bindings for Samsung Galaxy Tab A 10.1 (2019, 4G) board.
Signed-off-by: Umer Uddin <umer.uddin@mentallysanemainliners.org>
---
Documentation/devicetree/bindings/arm/samsung/samsung-boards.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.yaml b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.yaml
index db19a686f490..6ac7f895351e 100644
--- a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.yaml
+++ b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.yaml
@@ -226,6 +226,7 @@ properties:
- description: Exynos7885 based boards
items:
- enum:
+ - samsung,gta3xllte # Samsung Galaxy Tab A 10.1 (2019, 4G)
- samsung,jackpotlte # Samsung Galaxy A8 (2018)
- const: samsung,exynos7885
--
2.56.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] arm64: exynos: Add initial support for Samsung Galaxy Tab A 10.1 (2019, 4G)
2026-11-09 20:07 [PATCH 0/2] Add support for Samsung Galaxy Tab A 10.1 (2019, 4G) Umer Uddin via B4 Relay
2026-11-09 20:07 ` [PATCH 1/2] dt-bindings: arm: samsung: samsung-boards: Add bindings for SM-T515 board Umer Uddin via B4 Relay
@ 2026-11-09 20:07 ` Umer Uddin via B4 Relay
2026-11-09 20:18 ` sashiko-bot
1 sibling, 1 reply; 4+ messages in thread
From: Umer Uddin via B4 Relay @ 2026-11-09 20:07 UTC (permalink / raw)
To: Krzysztof Kozlowski, Peter Griffin, Alim Akhtar, Rob Herring,
Conor Dooley, Krzysztof Kozlowski
Cc: linux-arm-kernel, linux-samsung-soc, devicetree, linux-kernel,
Umer Uddin
From: Umer Uddin <umer.uddin@mentallysanemainliners.org>
Add initial support for Samsung Galaxy Tab A 10.1 (2019) is a tablet that
is based on Exynos7885, this patch adds support for the LTE variant.
This device tree adds support for the following:
- SimpleFB
- 2GB RAM
- Buttons
- Internal eMMC
Signed-off-by: Umer Uddin <umer.uddin@mentallysanemainliners.org>
---
arch/arm64/boot/dts/exynos/Makefile | 1 +
.../arm64/boot/dts/exynos/exynos7885-gta3xllte.dts | 130 +++++++++++++++++++++
2 files changed, 131 insertions(+)
diff --git a/arch/arm64/boot/dts/exynos/Makefile b/arch/arm64/boot/dts/exynos/Makefile
index 7534b773d28f..f1946a95cb42 100644
--- a/arch/arm64/boot/dts/exynos/Makefile
+++ b/arch/arm64/boot/dts/exynos/Makefile
@@ -12,6 +12,7 @@ dtb-$(CONFIG_ARCH_EXYNOS) += \
exynos7870-j6lte.dtb \
exynos7870-j7xelte.dtb \
exynos7870-on7xelte.dtb \
+ exynos7885-gta3xllte.dtb \
exynos7885-jackpotlte.dtb \
exynos850-a217f.dtb \
exynos850-e850-96.dtb \
diff --git a/arch/arm64/boot/dts/exynos/exynos7885-gta3xllte.dts b/arch/arm64/boot/dts/exynos/exynos7885-gta3xllte.dts
new file mode 100644
index 000000000000..0e4e6c0b20e1
--- /dev/null
+++ b/arch/arm64/boot/dts/exynos/exynos7885-gta3xllte.dts
@@ -0,0 +1,130 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Samsung Galaxy Tab A 10.1 (2019, 4G) (gta3xllte/SM-T515) device tree source
+ *
+ * Copyright (c) 2026, Umer Uddin <umer.uddin@mentallysanemainliners.org>
+ */
+
+/dts-v1/;
+#include "exynos7885.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+/ {
+ model = "Samsung Galaxy Tab A 10.1 (2019, 4G)";
+ compatible = "samsung,gta3xllte", "samsung,exynos7885";
+ chassis-type = "handset";
+
+ aliases {
+ mmc0 = &mmc_0;
+ serial0 = &serial_0;
+ serial1 = &serial_1;
+ serial2 = &serial_2;
+ };
+
+ chosen {
+ #address-cells = <2>;
+ #size-cells = <1>;
+ ranges;
+
+ framebuffer0: framebuffer@ec000000 {
+ compatible = "simple-framebuffer";
+ reg = <0 0xec000000 0x01400000>;
+ width = <1200>;
+ height = <1920>;
+ stride = <(1200 * 4)>;
+ format = "a8r8g8b8";
+ };
+ };
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <1>;
+ ranges;
+
+ cont_splash_mem: framebuffer@ec000000 {
+ reg = <0 0xec000000 0x01400000>;
+ no-map;
+ };
+ };
+
+ memory@80000000 {
+ device_type = "memory";
+ reg = <0x0 0x80000000 0x3dd00000>,
+ <0x0 0xc0000000 0x40000000>;
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+ pinctrl-names = "default";
+ pinctrl-0 = <&key_volup &key_voldown &key_power>;
+
+ volup-key {
+ label = "Volume Up";
+ linux,code = <KEY_VOLUMEUP>;
+ gpios = <&gpa1 5 GPIO_ACTIVE_LOW>;
+ };
+
+ voldown-key {
+ label = "Volume Down";
+ linux,code = <KEY_VOLUMEDOWN>;
+ gpios = <&gpa1 6 GPIO_ACTIVE_LOW>;
+ };
+
+ power-key {
+ label = "Power";
+ linux,code = <KEY_POWER>;
+ gpios = <&gpa1 7 GPIO_ACTIVE_LOW>;
+ wakeup-source;
+ };
+ };
+};
+
+&mmc_0 {
+ mmc-hs200-1_8v;
+ mmc-hs400-1_8v;
+ cap-mmc-highspeed;
+ non-removable;
+ mmc-hs400-enhanced-strobe;
+ card-detect-delay = <200>;
+ clock-frequency = <800000000>;
+ bus-width = <8>;
+ samsung,dw-mshc-ciu-div = <3>;
+ samsung,dw-mshc-sdr-timing = <0 4>;
+ samsung,dw-mshc-ddr-timing = <2 4>;
+ samsung,dw-mshc-hs400-timing = <0 2>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&sd0_clk_fast_slew_rate_3x &sd0_cmd &sd0_rdqs
+ &sd0_bus1 &sd0_bus4 &sd0_bus8>;
+
+ status = "okay";
+};
+
+&oscclk {
+ clock-frequency = <26000000>;
+};
+
+&pinctrl_alive {
+ key_volup: key-volup-pins {
+ samsung,pins = "gpa1-5";
+ samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
+ samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+ samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+ };
+
+ key_voldown: key-voldown-pins {
+ samsung,pins = "gpa1-6";
+ samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
+ samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+ samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+ };
+
+ key_power: key-power-pins {
+ samsung,pins = "gpa1-7";
+ samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
+ samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+ samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+ };
+};
--
2.56.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] arm64: exynos: Add initial support for Samsung Galaxy Tab A 10.1 (2019, 4G)
2026-11-09 20:07 ` [PATCH 2/2] arm64: exynos: Add initial support for Samsung Galaxy Tab A 10.1 (2019, 4G) Umer Uddin via B4 Relay
@ 2026-11-09 20:18 ` sashiko-bot
0 siblings, 0 replies; 4+ messages in thread
From: sashiko-bot @ 2026-11-09 20:18 UTC (permalink / raw)
To: Umer Uddin; +Cc: devicetree, robh, conor+dt
Thank you for your contribution! Sashiko AI review found 2 potential
issues to consider:
- [Low] arm64: dts: exynos: chassis-type set to handset instead of
tablet on gta3xllte
- [Low] arm64: dts: exynos: unused irq.h include and DTS coding style
ordering
--
commit f760d421e0674fc017d8f648d9b5b6eeebf73f43
Author: Umer Uddin <umer.uddin@mentallysanemainliners.org>
arm64: exynos: Add initial support for Samsung Galaxy Tab A 10.1 (2019, 4G)
This commit adds initial device tree support for the LTE variant of the
Exynos7885-based Samsung Galaxy Tab A 10.1 (2019) tablet.
> diff --git a/arch/arm64/boot/dts/exynos/exynos7885-gta3xllte.dts b/arch/arm64/boot/dts/exynos/exynos7885-gta3xllte.dts
> new file mode 100644
> index 0000000000000..0e4e6c0b20e15
> --- /dev/null
> +++ b/arch/arm64/boot/dts/exynos/exynos7885-gta3xllte.dts
> @@ -0,0 +1,130 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Samsung Galaxy Tab A 10.1 (2019, 4G) (gta3xllte/SM-T515) device tree source
> + *
> + * Copyright (c) 2026, Umer Uddin <umer.uddin@mentallysanemainliners.org>
> + */
> +
> +/dts-v1/;
> +#include "exynos7885.dtsi"
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/input.h>
> +#include <dt-bindings/interrupt-controller/irq.h>
> +
> +/ {
> + model = "Samsung Galaxy Tab A 10.1 (2019, 4G)";
> + compatible = "samsung,gta3xllte", "samsung,exynos7885";
> + chassis-type = "handset";
[Severity: Low]
Should chassis-type be "tablet" instead of "handset"? The kernel exposes
this property at /sys/firmware/devicetree/base/chassis-type, so "handset"
causes userspace services such as systemd-hostnamed to misidentify this
tablet as a phone.
> +
> + aliases {
> + mmc0 = &mmc_0;
> + serial0 = &serial_0;
> + serial1 = &serial_1;
> + serial2 = &serial_2;
> + };
> +
> + chosen {
> + #address-cells = <2>;
> + #size-cells = <1>;
> + ranges;
> +
> + framebuffer0: framebuffer@ec000000 {
> + compatible = "simple-framebuffer";
> + reg = <0 0xec000000 0x01400000>;
> + width = <1200>;
> + height = <1920>;
> + stride = <(1200 * 4)>;
> + format = "a8r8g8b8";
> + };
> + };
> +
> + reserved-memory {
> + #address-cells = <2>;
> + #size-cells = <1>;
> + ranges;
> +
> + cont_splash_mem: framebuffer@ec000000 {
> + reg = <0 0xec000000 0x01400000>;
> + no-map;
> + };
> + };
> +
> + memory@80000000 {
> + device_type = "memory";
> + reg = <0x0 0x80000000 0x3dd00000>,
> + <0x0 0xc0000000 0x40000000>;
> + };
> +
> + gpio-keys {
> + compatible = "gpio-keys";
> + pinctrl-names = "default";
> + pinctrl-0 = <&key_volup &key_voldown &key_power>;
> +
> + volup-key {
> + label = "Volume Up";
> + linux,code = <KEY_VOLUMEUP>;
> + gpios = <&gpa1 5 GPIO_ACTIVE_LOW>;
> + };
> +
> + voldown-key {
> + label = "Volume Down";
> + linux,code = <KEY_VOLUMEDOWN>;
> + gpios = <&gpa1 6 GPIO_ACTIVE_LOW>;
> + };
> +
> + power-key {
> + label = "Power";
> + linux,code = <KEY_POWER>;
> + gpios = <&gpa1 7 GPIO_ACTIVE_LOW>;
> + wakeup-source;
> + };
> + };
> +};
> +
> +&mmc_0 {
> + mmc-hs200-1_8v;
> + mmc-hs400-1_8v;
> + cap-mmc-highspeed;
> + non-removable;
> + mmc-hs400-enhanced-strobe;
> + card-detect-delay = <200>;
> + clock-frequency = <800000000>;
> + bus-width = <8>;
> + samsung,dw-mshc-ciu-div = <3>;
> + samsung,dw-mshc-sdr-timing = <0 4>;
> + samsung,dw-mshc-ddr-timing = <2 4>;
> + samsung,dw-mshc-hs400-timing = <0 2>;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&sd0_clk_fast_slew_rate_3x &sd0_cmd &sd0_rdqs
> + &sd0_bus1 &sd0_bus4 &sd0_bus8>;
> +
> + status = "okay";
> +};
[Severity: Low]
This isn't a bug, but a few places here deviate from the DTS coding style:
dt-bindings/interrupt-controller/irq.h is included at the top of the file
but never used.
Under the root node, gpio-keys is placed after reserved-memory and
memory@80000000 instead of in alphabetical order, and its child nodes
(volup-key, voldown-key, power-key) are not ordered alphabetically either.
In chosen and reserved-memory, ranges is placed after #address-cells and
#size-cells rather than before standard properties.
In &mmc_0, the standard pinctrl-0 and pinctrl-names properties are placed
after the vendor-specific samsung,dw-mshc-* properties, and pinctrl-names
is placed before pinctrl-0 in both gpio-keys and &mmc_0.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261109-gta3xllte-support-v1-0-dc0c4bfa8b44@mentallysanemainliners.org?part=2
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-11-09 20:18 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-09 20:07 [PATCH 0/2] Add support for Samsung Galaxy Tab A 10.1 (2019, 4G) Umer Uddin via B4 Relay
2026-11-09 20:07 ` [PATCH 1/2] dt-bindings: arm: samsung: samsung-boards: Add bindings for SM-T515 board Umer Uddin via B4 Relay
2026-11-09 20:07 ` [PATCH 2/2] arm64: exynos: Add initial support for Samsung Galaxy Tab A 10.1 (2019, 4G) Umer Uddin via B4 Relay
2026-11-09 20:18 ` sashiko-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox