UART » History » Revision 65
Revision 64 (Denis 'GNUtoo' Carikli, 03/08/2020 03:47 AM) → Revision 65/93 (Denis 'GNUtoo' Carikli, 03/08/2020 03:50 AM)
h1. UART There is an in-depth article covering several Samsung devices in the [[SamsungSerial]] page h2. Settings |_. Device and documentation |_. I/O voltage |_. ID<->GND |_. SOC TX |_. SOC RX |_. switch |_. stock bootloader settings |_. Comments | | GT-I9100 | | 510k[9] 510k | D- | D+ | "MAX8997":https://git.replicant.us/replicant/kernel_samsung_smdk4412/tree/arch/arm/configs/lineageos_i9100_defconfig#n1294 | *UART settings*: ttySAC2 115200 8N1 To get the UART enabled at boot with the stock bootloader: * Power the phone off and remove the battery * Put a battery in * Hold the select button * Plug the UART * Release the select button | At some point the boot procedure switches to the modem UART, it's probably some linux driver doing that | | GT-N7000 | 510k[9] | D- | D+ | | *UART settings*: ttySAC2 115200 8N1 | | | | GT-I9100G_CHN_CHN | 1.8V[8] ? | 619k[9] | D- | D+ | ? | *UART settings*: 115200 8N1 | Very few prints from Xloader, the next bootloader used by Android 2.6.3 doesn't seem to print much | | GT-I9300 |/2. 1.8V[1] |/4. 619 kOhms[3] |/4. D- |/4. D+ |/4. MAX77693[5] |/4. *UART settings*: 115200 To increase verbosity during boot: * Power off the phone and remove the battery * Put a battery in * Press the hold the volume-down button * Plug the UART and wait for the first lines to be printed * Release the volume-down button |/2. It gives a shell once Replicant 6 has booted | | GT-I9305 | | GT-N7100 | ? | | | GT-N7105 | ? | | | [[GalaxyNexusI9250SerialConsole|Galaxy Nexus (GT-I9250)]] | | 619 kOhms[4] | D+ | D- | FSA9480[7] | UART settings: * By default: ttyFIQ0, 115200 8N1 * After patching Linux: ttyO2, 115200 8N1 See [[GalaxyNexusI9250SerialConsole]] for more details. | | | [[NexusSI902xSerial|Nexus S]] | | 150 kOhm | | | FSA9480 | | | | [[OptimusBlackSerial|Optimus Black (P970)]] | 1.8V[6] | N/A[2] | | | DP3T | | | | ODROID-U3, console UART | 1.8V |\4. "connector":https://wiki.odroid.com/accessory/development/usb_uart_kit#odroid_port_description_of_uart_connector | *UART settings*: ttySAC1, 115200 8N1 | | | ODROID-U3, IO pins UART | 1.8V |\4. "connector":https://wiki.odroid.com/old_product/odroid-x_u_q/odroid_u3/u3_ioport_uart | *UART settings*: ttySAC0, 115200 8N1 | | fn1. Measured between USB GND and USB VCC fn2. Code is required to use the switch as you need to configure both the MUIC and DP3T switch fn3. See "The related driver source code":https://git.replicant.us/replicant/kernel_samsung_smdk4412/tree/drivers/misc/max77693-muic.c#n102 fn4. See the "postmarketOS wiki page on Serial debugging":https://wiki.postmarketos.org/wiki/Serial_debugging fn5. See the "driver":https://git.replicant.us/replicant/kernel_samsung_smdk4412/tree/drivers/misc/max77693-muic.c and the "ifixit teardown":https://www.ifixit.com/Teardown/Samsung+Galaxy+S+III+Teardown/9391 fn6. Reference: [[OptimusBlackSerial]] fn7. See "board-tuna-connector.c":https://git.replicant.us/replicant/kernel_samsung_tuna/tree/arch/arm/mach-omap2/board-tuna-connector.c "fsa9480.c":https://git.replicant.us/replicant/kernel_samsung_tuna/tree/drivers/misc/fsa9480.c in "kernel_samsung_tuna":https://git.replicant.us/replicant/kernel_samsung_tuna fn8. Works, as it was tested on the device. TODO: measure the voltage, as lower UART voltages often works with higher voltage levels. fn9. Works, as it was tested on the device. TODO: look the official reference in the driver for it. h2. Datasheets * "FSA9480.pdf":https://media.digikey.com/pdf/Data%20Sheets/Fairchild%20PDFs/FSA9480.pdf h2. Interesting links * There is a "page on Serial debugging":https://wiki.postmarketos.org/wiki/Serial_debugging on the postmarketOS wiki that contains information for using the serial port for many smartphones models. * "mv-uart":https://osmocom.org/projects/mv-uart/wiki A serial port adapter with configurable voltages (and GPIOs) * "DHylands_SGS2_SerialAdapter":https://wiki.mozilla.org/DHylands_SGS2_SerialAdapter : A very compact setup but with fixed resistor value.