Skip to content

Commit 8d43a41

Browse files
Rename to gta2xllte (SM-T595 / SDM450) — correct LTE identity
The device is the LTE variant (SM-T595, gta2xllte, SDM450 msm-id 338), not gta2xlwifi. Rename the dts to sdm450-samsung-gta2xllte (include sdm450.dtsi, compatible samsung,gta2xllte / qcom,sdm450), update scripts, README and the upstream dts. Kernel PR: msm8953-mainline/linux#254. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 4572723 commit 8d43a41

6 files changed

Lines changed: 294 additions & 27 deletions

File tree

README.md

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
# postmarketOS mainline — Samsung Galaxy Tab A 10.5 (2018, Wi-Fi)
1+
# postmarketOS mainline — Samsung Galaxy Tab A 10.5 (2018, LTE)
22

3-
Mainline port of **gta2xlwifi** (SoC Qualcomm SDM450 / MSM8953).
3+
Mainline port of **gta2xllte** (SM-T595), SoC Qualcomm SDM450.
44

55
Base: pmOS device profile `qcom-msm8953` (systemd-edge), kernel
66
`linux-postmarketos-qcom-msm8953` (msm8953-mainline/linux v7.0.9-r0), bootloader lk2nd.
77

8+
> The Wi-Fi-only sibling (SM-T590) is gta2xlwifi / SDA450; this port targets the
9+
> LTE model (SM-T595, SDM450, msm-id 338).
10+
811
## Status
912

1013
| Feature | State |
@@ -17,16 +20,17 @@ Base: pmOS device profile `qcom-msm8953` (systemd-edge), kernel
1720
| Bluetooth | ✅ (WCNSS) |
1821
| Touch (ST FTS) | 🟡 chip responds, `stmfts` times out (`-110`, fts1ba90a) |
1922
| DSI panel (HX8279) | ⛔ deferred — simpledrm used instead |
20-
| Modem | disabled (Wi-Fi variant) |
21-
| Sensors, camera, audio, GPU | not started |
23+
| Modem | not wired up yet |
24+
| Sensors, camera, audio, GPU, NFC | not started (NFC: hardware has none) |
2225

2326
## Layout
2427

2528
```
2629
mainline-port/
27-
├── msm8953-samsung-gta2xlwifi.dts # device tree (the source)
30+
├── sdm450-samsung-gta2xllte.dts # device tree (the source)
2831
├── apply-dts.sh # copy dts → kernel tree + verify (out-of-tree)
2932
├── build-bootimg.sh # build a RAM-bootable boot.img from the kernel apk
33+
├── upstream/ # clean BSD-3-Clause dts as submitted upstream
3034
├── pmaports-overlay/ # kernel config changes + diff
3135
├── downstream-dts/ # downstream Android dts (hardware reference)
3236
├── templates/ # mainline msm8953 dts (daisy, mido)
@@ -39,7 +43,7 @@ The kernel tree (`~/pmos/mainline-build/linux-7.0.9-r0`) lives outside this repo
3943

4044
```bash
4145
cd mainline-port
42-
# edit msm8953-samsung-gta2xlwifi.dts
46+
# edit sdm450-samsung-gta2xllte.dts
4347
./apply-dts.sh # into the kernel tree + verify (always run before build)
4448
./build-bootimg.sh # dts change → images/boot.img
4549
# config/kernel change: rebuild the kernel first:
@@ -51,8 +55,8 @@ fastboot boot images/boot.img # RAM boot (nothing is flashed)
5155

5256
- **PMIC:** pm8953 only (no pmi8950/pmi8937). Do not include `pmi8950.dtsi` — the SPMI
5357
probe fails with -EIO and blocks everything behind it.
54-
- **dtb selection:** lk2nd matches `qcom,msm-id = <0x152 0x0>` + `qcom,board-id = <0x08 0x04>`.
55-
Without them the downstream dtb is loaded.
58+
- **dtb selection:** lk2nd matches `qcom,msm-id = <338 0>` (SDM450) + `qcom,board-id = <8 4>`
59+
+ the `T595*` bootloader string. Without them the downstream dtb is loaded.
5660
- **Display:** no mainline path lights the HX8279 (the ISL98608 has no i2c driver). Use
5761
simpledrm on the cont_splash framebuffer at `0x90001000`, msm DSI disabled, panel rails
5862
always-on. Format: 1200×1920, stride 1200×3, `r8g8b8` (24bpp) — 32bpp gives a sheared image.
@@ -61,7 +65,7 @@ fastboot boot images/boot.img # RAM boot (nothing is flashed)
6165
mainline stmfts driver likely does not speak.
6266
- **Wi-Fi/BT:** WCNSS pronto + iris `qcom,wcn3680` (not `wcn3680b` — that compatible
6367
doesn't exist). Needs the device NV blob at the `firmware-name` path
64-
`qcom/msm8953/samsung/gta2xlwifi/WCNSS_qcom_wlan_nv.bin` (32K, from the stock
68+
`qcom/sdm450/samsung/gta2xllte/WCNSS_qcom_wlan_nv.bin` (32K, from the stock
6569
firmware) or wcn36xx fails with -2.
6670
- **Root UUIDs:** root `07d2abef-9505-4fc9-a6da-b6e69594ae30`,
6771
boot `1298aa1d-1977-4172-a50b-d7aead5d4569` (install on `mmcblk1p47`).
@@ -74,9 +78,10 @@ fastboot boot images/boot.img # RAM boot (nothing is flashed)
7478
- Touch: verify/adapt a driver for fts1ba90a.
7579
- DSI panel: ISL98608 i2c config, then `&mdss`/`&mdss_dsi0` instead of simpledrm.
7680
- Package the Wi-Fi NV firmware so it survives a reinstall.
77-
- GPU (Adreno 506, `a506_zap`), sensors, audio, charger.
81+
- Modem (LTE), GPU (Adreno 506, `a506_zap`), sensors, audio, charger.
7882
- Spontaneous reboots (likely watchdog).
7983

8084
## Upstream
8185

82-
DTS submitted to msm8953-mainline/linux: PR #253.
86+
- Kernel DTS: msm8953-mainline/linux PR #254 (`sdm450-samsung-gta2xllte`).
87+
- lk2nd: gta2xllte already supported upstream (T595*).

mainline-port/apply-dts.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
# apply-dts.sh — applicera den redigerade dts:en i kärnträdet och verifiera.
44
#
55
# Arbetsflöde:
6-
# 1. redigera/spara: mainline-port/msm8953-samsung-gta2xlwifi.dts (DENNA är källan)
6+
# 1. redigera/spara: mainline-port/sdm450-samsung-gta2xllte.dts (DENNA är källan)
77
# 2. kör: ./apply-dts.sh
88
# 3. bygg: pmbootstrap build --src=<kärnträd> linux-postmarketos-qcom-msm8953
99
#
1010
set -euo pipefail
1111

12-
DTS_NAME="msm8953-samsung-gta2xlwifi"
12+
DTS_NAME="sdm450-samsung-gta2xllte"
1313
HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
1414
CANONICAL="$HERE/$DTS_NAME.dts"
1515
KTREE="${1:-/home/simon/pmos/mainline-build/linux-7.0.9-r0}"

mainline-port/build-bootimg.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ set -euo pipefail
1515

1616
HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
1717
PMOS="${PMOS:-$HOME/pmos}"
18-
DTS_NAME="msm8953-samsung-gta2xlwifi"
18+
DTS_NAME="sdm450-samsung-gta2xllte"
1919
OUT="$HERE/images/boot.img"
2020

2121
# --- device-specifika värden (verifierade mot plattan) ---------------------

mainline-port/pmaports-overlay/config-postmarketos-qcom-msm8953.aarch64

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1609,9 +1609,9 @@ CONFIG_NET_FLOW_LIMIT=y
16091609

16101610
# CONFIG_HAMRADIO is not set
16111611
# CONFIG_CAN is not set
1612-
CONFIG_BT=m
1612+
CONFIG_BT=y
16131613
CONFIG_BT_BREDR=y
1614-
CONFIG_BT_RFCOMM=m
1614+
CONFIG_BT_RFCOMM=y
16151615
CONFIG_BT_RFCOMM_TTY=y
16161616
# CONFIG_BT_BNEP is not set
16171617
CONFIG_BT_HIDP=m
@@ -1660,7 +1660,7 @@ CONFIG_BT_HCIUART_QCA=y
16601660
# CONFIG_BT_ATH3K is not set
16611661
# CONFIG_BT_MTKSDIO is not set
16621662
# CONFIG_BT_MTKUART is not set
1663-
CONFIG_BT_QCOMSMD=m
1663+
CONFIG_BT_QCOMSMD=y
16641664
# CONFIG_BT_VIRTIO is not set
16651665
# CONFIG_BT_NXPUART is not set
16661666
# end of Bluetooth device drivers
@@ -1670,7 +1670,7 @@ CONFIG_BT_QCOMSMD=m
16701670
# CONFIG_MCTP is not set
16711671
CONFIG_FIB_RULES=y
16721672
CONFIG_WIRELESS=y
1673-
CONFIG_CFG80211=m
1673+
CONFIG_CFG80211=y
16741674
# CONFIG_NL80211_TESTMODE is not set
16751675
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
16761676
CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
@@ -1679,7 +1679,7 @@ CONFIG_CFG80211_DEFAULT_PS=y
16791679
# CONFIG_CFG80211_DEBUGFS is not set
16801680
CONFIG_CFG80211_CRDA_SUPPORT=y
16811681
# CONFIG_CFG80211_WEXT is not set
1682-
CONFIG_MAC80211=m
1682+
CONFIG_MAC80211=y
16831683
CONFIG_MAC80211_HAS_RC=y
16841684
CONFIG_MAC80211_RC_MINSTREL=y
16851685
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
@@ -1689,7 +1689,7 @@ CONFIG_MAC80211_LEDS=y
16891689
# CONFIG_MAC80211_MESSAGE_TRACING is not set
16901690
# CONFIG_MAC80211_DEBUG_MENU is not set
16911691
CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
1692-
CONFIG_RFKILL=m
1692+
CONFIG_RFKILL=y
16931693
CONFIG_RFKILL_LEDS=y
16941694
CONFIG_RFKILL_INPUT=y
16951695
# CONFIG_RFKILL_GPIO is not set
@@ -2361,7 +2361,7 @@ CONFIG_ATH10K_SDIO=m
23612361
# CONFIG_ATH10K_DEBUGFS is not set
23622362
CONFIG_ATH10K_LEDS=y
23632363
# CONFIG_ATH10K_TRACING is not set
2364-
CONFIG_WCN36XX=m
2364+
CONFIG_WCN36XX=y
23652365
CONFIG_WCN36XX_DEBUGFS=y
23662366
# CONFIG_ATH11K is not set
23672367
# CONFIG_WLAN_VENDOR_ATMEL is not set
@@ -5856,14 +5856,14 @@ CONFIG_QCOM_IOMMU=y
58565856
CONFIG_REMOTEPROC=y
58575857
# CONFIG_REMOTEPROC_CDEV is not set
58585858
CONFIG_QCOM_PIL_INFO=m
5859-
CONFIG_QCOM_RPROC_COMMON=m
5859+
CONFIG_QCOM_RPROC_COMMON=y
58605860
CONFIG_QCOM_Q6V5_COMMON=m
58615861
# CONFIG_QCOM_Q6V5_ADSP is not set
58625862
CONFIG_QCOM_Q6V5_MSS=m
58635863
CONFIG_QCOM_Q6V5_PAS=m
58645864
# CONFIG_QCOM_Q6V5_WCSS is not set
58655865
CONFIG_QCOM_SYSMON=m
5866-
CONFIG_QCOM_WCNSS_PIL=m
5866+
CONFIG_QCOM_WCNSS_PIL=y
58675867
# end of Remoteproc drivers
58685868

58695869
#
@@ -5950,7 +5950,7 @@ CONFIG_QCOM_SMSM=y
59505950
CONFIG_QCOM_SOCINFO=m
59515951
# CONFIG_QCOM_SPM is not set
59525952
CONFIG_QCOM_STATS=m
5953-
CONFIG_QCOM_WCNSS_CTRL=m
5953+
CONFIG_QCOM_WCNSS_CTRL=y
59545954
CONFIG_QCOM_APR=m
59555955
# CONFIG_QCOM_ICC_BWMON is not set
59565956
CONFIG_QCOM_PBS=m

mainline-port/msm8953-samsung-gta2xlwifi.dts renamed to mainline-port/sdm450-samsung-gta2xllte.dts

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@
1010

1111
/dts-v1/;
1212

13-
#include "msm8953.dtsi"
13+
#include "sdm450.dtsi"
1414
#include "pm8953.dtsi"
1515
/* No pmi8950/pmi8937 on this board — gta2 pairs pm8953 only (confirmed from
1616
* the live downstream fdt). Including a non-existent PMIC makes the SPMI probe
1717
* fail (-EIO) and blocks everything behind it. */
1818

1919
/ {
20-
model = "Samsung Galaxy Tab A 10.5 (2018, Wi-Fi)";
21-
compatible = "samsung,gta2xlwifi", "qcom,msm8953";
20+
model = "Samsung Galaxy Tab A 10.5 (2018, LTE)";
21+
compatible = "samsung,gta2xllte", "qcom,sdm450";
2222
chassis-type = "tablet";
2323

2424
/*
@@ -343,6 +343,34 @@
343343
status = "disabled";
344344
};
345345

346+
/*
347+
* Wi-Fi + Bluetooth: WCNSS pronto + iris RF (wcn3680b, dual-band 802.11ac).
348+
* Supply rails verified against the device's live downstream fdt
349+
* (vddxo/vdddig 1.8V, vddrfa 1.3V, vddpa 3.3V).
350+
*/
351+
&wcnss {
352+
status = "okay";
353+
354+
vddpx-supply = <&pm8953_l5>;
355+
};
356+
357+
&wcnss_iris {
358+
compatible = "qcom,wcn3680";
359+
360+
vddxo-supply = <&pm8953_l7>;
361+
vddrfa-supply = <&pm8953_l19>;
362+
vddpa-supply = <&pm8953_l9>;
363+
vdddig-supply = <&pm8953_l5>;
364+
};
365+
366+
&wcnss_ctrl {
367+
/*
368+
* NV calibration blob is device-specific; extract from the stock
369+
* /vendor (WCNSS_qcom_wlan_nv.bin) if Wi-Fi misbehaves.
370+
*/
371+
firmware-name = "qcom/msm8953/samsung/gta2xlwifi/WCNSS_qcom_wlan_nv.bin";
372+
};
373+
346374
/*
347375
* Display: simpledrm on lk2nd's continuous-splash framebuffer
348376
* (chosen/framebuffer@90001000). The real msm DSI display + HX8279 panel are

0 commit comments

Comments
 (0)