Jump to content

LG G Watch R (lg-lenok): Difference between revisions

From postmarketOS Wiki
remove armhf note (MR 2169 fixed it)
Maxnet (talk | contribs)
m add MR
Line 174: Line 174:
=== Links ===
=== Links ===
* {{github|489}} initial PR
* {{github|489}} initial PR
* {{MR|2169|pmaports}}
* [https://github.com/pmsourcedump/kernel_lge_bass-lenok/ kernel source backup]
* [https://github.com/pmsourcedump/kernel_lge_bass-lenok/ kernel source backup]
* [https://asteroidos.org/install/lenok/ AsteroidOS device page]
* [https://asteroidos.org/install/lenok/ AsteroidOS device page]

Revision as of 13:40, 14 June 2021

LG G Watch R
LG G Watch R running the weston demo
LG G Watch R running the weston demo
Manufacturer LG
Name G Watch R
Codename lg-lenok
Released 2015
Hardware
Chipset Qualcomm APQ8026 Snapdragon 400
CPU Quad-core 1.2 GHz Cortex-A7
GPU Adreno 305
Display 320x320 P-OLED
Storage 4 GB
Memory 512 MB
Architecture armv7
Software
Original software Android Wear 1.0 and 2.0
postmarketOS
Category testing
Pre-built images no
Features
Flashing
Works
USB Networking
Works
Internal storage
No data
SD card
No data
Battery
No data
Screen
Works
Touchscreen
Works
Multimedia
3D Acceleration
No data
Camera Flash
No data
Connectivity
WiFi
No data
Bluetooth
No data
NFC
No data
Miscellaneous
FDE
No data
USB OTG
No data
HDMI/DP
No data
Sensors
Accelerometer
No data
Magnetometer
No data
Ambient Light
No data
Proximity
No data
Hall Effect
No data
Haptics
No data
Barometer
No data

Contributors

  • Bloo
  • drebrez
  • ollieparanoid
  • ata2001
  • opendata

Entering Fastboot mode

Turn on your watch and swipe from the top left corner (so thatd be where 11 would be on the watch) as soon as you see the LG logo.

Preperation

  • Add deviceinfo_flash_sparse="true" the deviceinfo file
  • Replace sshd with dropbear as seen in the USB Network[1] page

Installation

First build the image:

$ pmbootstrap init
$ pmbootstrap install

Then in order to flash it put your device in fastboot mode, and plug it in USB. Then do:

$ pmbootstrap flasher flash_rootfs --partition userdata
$ pmbootstrap flasher flash_kernel

We flash to the `userdata` partition as the system partition is not big enough for postmarketOS.

You can then either reboot or run fastboot continue to boot into postmarketOS.


UART

UART is multiplexed on the USB port. The watch has five pads that are directly connected to the docking station's USB connector.

There seems to be some code checking if v(USB id) is about 900 mV before muxing UART to the USB connector, but an extra command line parameter, uart_console=enable might have to be enabled to output the kernel messages. Adding lge.earjack-debugger=always could force muxing without applying a voltage on the id pin.

Pin order is the following, when looking at the docking station from the top, USB cable on the left:

Pogo pin order on dock, USB on the left
TOP GND
2 ID
3 D+
4 D-
BOTTOM VCC

The following is the complete early boot sequence captured at 115200 bauds. UART output seems to be enabled by default during early boot, so applying a specific voltage to the ID pin is not needed. Note that you will need to keep the power button pushed until "welcome to lenok bootloader" appears, otherwise the boot process is interrupted.

Format: Log Type - Time(microsec) - Message
Log type: B - since boot(excluding boot rom).  D - delta
B -    168756 - SBL1, Start
B -    174002 - scatterload_region && ram_init, Start
D -        30 - scatterload_region && ram_init, Delta
B -    189527 - pm_device_init, Start
D -     16775 - pm_device_init, Delta
B -    216428 - volume_down: not pressed
B -    216824 - boot_flash_init, Start
D -     20587 - boot_flash_init, Delta
B -    247812 - volume_down: not pressed
B -    247843 - boot_config_data_table_init, Start
D -         0 - boot_config_data_table_init, Delta
B -    254248 - sbl1_ddr_set_params, Start
B -    257999 - Pre_DDR_clock_init, Start
D -       183 - Pre_DDR_clock_init, Delta
D -         0 - sbl1_ddr_set_params, Delta
B -    272395 - pm_driver_init, Start
D -     24186 - pm_driver_init, Delta
B -    296765 - clock_init, Start
D -       213 - clock_init, Delta
B -    315919 - Image Load, Start
B -    416203 - Tz Execution, Start
D -    133773 - Tz Execution, Delta
B -    551043 - Image Load, Start
B -    616984 - Signal PBL to Jump to RPM FW
B -   1546380 - Image Load, Start
B -   1547234 - hw_rev adc result:1791
B -   1547936 - Cable ADC: 1749
B -   1549430 - charger type: non DCP
B -   1553609 - hw_rev adc result:1791
B -   1556293 - [bq27421] config params start
B -   1622905 - [bq27421] config params end
B -   1622966 - Image Load, Start
B -   1727733 - sbl1_efs_handle_cookies, Start
D -       335 - sbl1_efs_handle_cookies, Delta
B -   1729716 - RPM sync cookie updated
B -   1734748 - qfuse: fusing unFlaged
B -   1736761 - SBL1, End


welcome to lenok bootloader
[0] Power on reason 80
[10] platform_init()
[90] touch synaptics: touch_poll init
[140] Done initialization of the card
[160] Loaded IMGDATA at 0x8000000
[170] LCD: 320P OLED cmd panel
[170] bpp 24
[220] Config MIPI_CMD_PANEL.
[400] Turn on MIPI_CMD_PANEL.
[440] cable type from shared memory: 10
[440] reboot_mode restart reason = power_on
[490] splash: boot
[1530] use_signed_kernel=0, is_unlocked=0, is_tampered=0.
[1530] Loading boot image (15646720): start
[1660] Loading boot image (15646720): done
[1660] Found Appeneded Flattened Device tree
[1670] DTB: platform id 199, board id 132, soc rev 20000, board rev 10
[1680] get_display_kcal = 0, 0, 0, x
[1680] 
Booting Linux
[3680] Updating device tree: start
[3760] Updating device tree: done
[3770] Turn off MIPI_CMD_PANEL.
[3770] Continuous splash enabled, keeping panel alive.
[3770] booting linux @ 0x8000, ramdisk @ 0x2000000 (1246306), tags/device tree @ 0x1e00000

Links