Difference between revisions of "UART Console"

From Vita Development Wiki
Jump to navigation Jump to search
Tags: mobile edit mobile web edit
Line 24: Line 24:
 
* On Wifi PSVita units, you need to fill in the 88ohm termination resistors (or just short the pads) and some way to enable it (not known yet).
 
* On Wifi PSVita 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 Code ==
+
== UART initialization/deinitialization code ==
  
 
<source lang="c">
 
<source lang="c">
kscePervasiveUartClockEnable(uart_bus); // Turn on clock
+
scePervasiveUartClockEnableForDriver(port); // Turn on clock
kscePervasiveUartResetDisable(uart_bus); // Out of reset
+
scePervasiveUartResetDisableForDriver(port); // Out of reset
ksceUartInit(uart_bus);
+
sceUartInitForKernel(port);
 
/*
 
/*
  * Use UART bus
+
  * Use UART port (read/write)
 
  * ...
 
  * ...
 
  */
 
  */
kscePervasiveUartResetEnable(uart_bus); // Put to reset
+
scePervasiveUartResetEnableForDriver(port); // Put to reset
kscePervasiveUartClockDisable(uart_bus); // Turn off clock
+
scePervasiveUartClockDisableForDriver(port); // Turn off clock
 
</source>
 
</source>

Revision as of 22:17, 26 January 2020

UART0

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

PSTV UART0 location

Pstv uart0.png

OLED PSVita UART0 location

Vita-1000-uart.png

There are two ways of using UART0:

  • First way is to solder directly to the testpads near the PMIC (yellow and cyan points).
  • 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).

The switch is controlled by a TS3A5018 chip and the RTS gate is a TC7WG126FK chip.

UART5

OLED PSVita UART5 location

It is on the PCI-E connector pins 8,10,12,14 is RFR, CTS, TX, RX.

  • On 3G PSVita units, you can solder to the PCI-E connectors or install yifan's PSVSD.
  • On Wifi PSVita 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/deinitialization code

scePervasiveUartClockEnableForDriver(port); // Turn on clock
scePervasiveUartResetDisableForDriver(port); // Out of reset
sceUartInitForKernel(port);
/*
 * Use UART port (read/write)
 * ...
 */
scePervasiveUartResetEnableForDriver(port); // Put to reset
scePervasiveUartClockDisableForDriver(port); // Turn off clock