* [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