WC1: Difference between revisions
(Created page with "== Galaxy Gear S2 Classic ==") |
(Add a bunch of hardware and flashing info) |
||
Line 1: | Line 1: | ||
== Galaxy Gear S2 Classic == | == Galaxy Gear S2 Classic == | ||
The Gear S2 classic is a Tizen-based smartwatch released in 2015. See [https://www.gsmarena.com/samsung_gear_s2_classic-7677.php gsmarena] for detailed specs. The codename used in Tizen and Recovery seems to be "WC1". | |||
As the vendor kernel is very old (3.4) and there's no existing abstraction for the Tizen HAL, a mainline Linux port for this watch is being attempted instead. | |||
Downstream sources available at https://github.com/casept/samsung-wc1-sources, as Samsung no longer hosts them. | |||
=== Hardware docs === | |||
==== Recovery mode and flashing ==== | |||
Like other Samsung watches, the Gear S2 classic can either be flashed wirelessly via the NetOdin protocol, or using the regular Odin protocol by opening it up and soldering a USB cable to some internal pads. See e.g. [https://xdaforums.com/t/gear-s2-wireless-download-mode-error.3745724/ this XDA thread] for the pinout. | |||
Note that flashing the BOOT partition with a bad kernel will result in a broken recovery and inability to use wireless download mode, so make sure you have USB connected before working on the watch. | |||
==== List of peripherals and their kernel driver state ==== | |||
Most of the hardware in this watch seems to have drivers in the mainline kernel, especially the SoC and most of the regulators. | |||
{| class="wikitable" | |||
|+ Samsung Gear S2 Classic | |||
|- | |||
! Chip !! Function !! Driver state in mainline Linux !! Notes | |||
|- | |||
| Exynos 3250 || SoC || Supported || DTS for dev boards based on it exist | |||
|- | |||
| WM1831 || Microphone DAC || Supported | |||
|- | |||
| BCM4343W || WLAN and BT || Unsupported || Infineon still maintains this chip. There's a patch for recent kernels (5.15) available on [https://community.infineon.com/t5/Wi-Fi-Bluetooth-for-Linux/Cypress-Linux-WiFi-Driver-Release-FMAC-2023-09-01/td-p/492862 Infineon's support site]. A quite complete datasheet exists [https://www.infineon.com/dgdl/Infineon-CYW4334WKUBGT-DataSheet-v11_00-EN.pdf?fileId=8ac78c8c7d0d8da4017d0ee1f02f680f here]. | |||
|- | |||
| SENN5DDPS2 || NFC || Possibly supported || There exists a kernel driver for 5th generation Samsung NFC chips, whether this chip is part of it is unknown. | |||
|- | |||
| BCM53950 || Wireless charge controller || Unsupported || No public datasheet, Samsung code seems readable enough and quite short (~1500LoC) | |||
|- | |||
| ISA1000A || vibrator motor controller || Unsupported || No datasheet, but probably only requires SoC PWM+GPIO, Samsung driver ca. 500LoC (''drivers/motor/isa1000a_vibrator.c'') | |||
|- | |||
| Unknown IC || hall effect sensor, crown || Unsupported || Connected via I2C, Samsung driver at ''drivers/input/misc/sec_rotary.c'', ~1300LoC | |||
|- | |||
| CYTMA525 || touchscreen controller || Supported | |||
|- | |||
| MAX77836 || MUIC || Supported || downstream kernel judges jig modes based on resistor connected to this via USB | |||
|- | |||
| ATSAMG55G19A || sensor hub || unknown || possibly supported via "Samsung sensor hub" driver. Sensor chips are connected to this and not the SoC directly. | |||
|- | |||
| Unknown (marked "OCTA") || LCD controller || unknown || unknown | |||
|} | |||
==== Debugging and Jigs ==== | |||
Judging by downstream kernel sources a Samsung UART Jig with a 619K resistor might work. This is currently untested. |
Revision as of 12:33, 19 December 2023
Galaxy Gear S2 Classic
The Gear S2 classic is a Tizen-based smartwatch released in 2015. See gsmarena for detailed specs. The codename used in Tizen and Recovery seems to be "WC1".
As the vendor kernel is very old (3.4) and there's no existing abstraction for the Tizen HAL, a mainline Linux port for this watch is being attempted instead.
Downstream sources available at https://github.com/casept/samsung-wc1-sources, as Samsung no longer hosts them.
Hardware docs
Recovery mode and flashing
Like other Samsung watches, the Gear S2 classic can either be flashed wirelessly via the NetOdin protocol, or using the regular Odin protocol by opening it up and soldering a USB cable to some internal pads. See e.g. this XDA thread for the pinout.
Note that flashing the BOOT partition with a bad kernel will result in a broken recovery and inability to use wireless download mode, so make sure you have USB connected before working on the watch.
List of peripherals and their kernel driver state
Most of the hardware in this watch seems to have drivers in the mainline kernel, especially the SoC and most of the regulators.
Chip | Function | Driver state in mainline Linux | Notes |
---|---|---|---|
Exynos 3250 | SoC | Supported | DTS for dev boards based on it exist |
WM1831 | Microphone DAC | Supported | |
BCM4343W | WLAN and BT | Unsupported | Infineon still maintains this chip. There's a patch for recent kernels (5.15) available on Infineon's support site. A quite complete datasheet exists here. |
SENN5DDPS2 | NFC | Possibly supported | There exists a kernel driver for 5th generation Samsung NFC chips, whether this chip is part of it is unknown. |
BCM53950 | Wireless charge controller | Unsupported | No public datasheet, Samsung code seems readable enough and quite short (~1500LoC) |
ISA1000A | vibrator motor controller | Unsupported | No datasheet, but probably only requires SoC PWM+GPIO, Samsung driver ca. 500LoC (drivers/motor/isa1000a_vibrator.c) |
Unknown IC | hall effect sensor, crown | Unsupported | Connected via I2C, Samsung driver at drivers/input/misc/sec_rotary.c, ~1300LoC |
CYTMA525 | touchscreen controller | Supported | |
MAX77836 | MUIC | Supported | downstream kernel judges jig modes based on resistor connected to this via USB |
ATSAMG55G19A | sensor hub | unknown | possibly supported via "Samsung sensor hub" driver. Sensor chips are connected to this and not the SoC directly. |
Unknown (marked "OCTA") | LCD controller | unknown | unknown |
Debugging and Jigs
Judging by downstream kernel sources a Samsung UART Jig with a 619K resistor might work. This is currently untested.