UART Console: Difference between revisions

From Vita Development Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 3: Line 3:
== PlayStation TV UART0 location ==
== PlayStation TV UART0 location ==
[[File:Pstv_uart0.png]]
[[File:Pstv_uart0.png]]
== OLED Vita UART0 location ==
[[File:vita-1000-uart.png]]
Two ways of using UART0. First is to solder directly to the testpads near the PMIC (yellow and cyan points). The second way is through the multi-connector or the testpads above it (blue and red points). To use the multi-connector points though, you need either to tell the syscon to select the Kermit UART (procedure currently unknown) or manually flip the switch (green point to 1.8V).


== OLED Vita UART5 location ==
== OLED Vita UART5 location ==


It is on the PCI-E connector pins 8,10,12,14 is RFR, CTS, TX, RX. On Wifi Vita units, you need to fill in the 88ohm termination resistors (or just short the pads).
It is on the PCI-E connector pins 8,10,12,14 is RFR, CTS, TX, RX. On Wifi Vita units, you need to fill in the 88ohm termination resistors (or just short the pads) and some way to enable it (not known yet).


== UART Initialization ==
== UART Initialization ==

Revision as of 04:03, 29 January 2018

The UART0 is a debugging console. The logic level is 1.8V.

PlayStation TV UART0 location

Pstv uart0.png

OLED Vita UART0 location

Vita-1000-uart.png

Two ways of using UART0. First is to solder directly to the testpads near the PMIC (yellow and cyan points). The second way is through the multi-connector or the testpads above it (blue and red points). To use the multi-connector points though, you need either to tell the syscon to select the Kermit UART (procedure currently unknown) or manually flip the switch (green point to 1.8V).

OLED Vita UART5 location

It is on the PCI-E connector pins 8,10,12,14 is RFR, CTS, TX, RX. On Wifi Vita units, you need to fill in the 88ohm termination resistors (or just short the pads) and some way to enable it (not known yet).

UART Initialization

ScePervasiveForDriver_EFD084D8(uart_bus); // Turn on clock
ScePervasiveForDriver_A7CE7DCC(uart_bus); // Out of reset
ksceUartInit(uart_bus);
/*
 * Use UART bus
 * ...
 */
ScePervasiveForDriver_788B6C61(uart_bus); // Put to reset
ScePervasiveForDriver_18DD8043(uart_bus); // Turn off clock