Difference between revisions of "PineNote"

Jump to navigation Jump to search
(Update concern about CC1 and CC2 being high or low)
(Rewrite strikethrough section as introduction to paragraph,)
Line 136: Line 136:
This decision requires the PineNote motherboard to be able to detect an AND condition between CC1 and CC2 and connect one of the SOC's UARTs to pins on the USB-C connector. In all other cases, the UART should be disconnected. It also requires the PINE64 Store ship a simple one-sided (no magical flipping here, sorry) connector board which breaks out USB 2.0 and UART.
This decision requires the PineNote motherboard to be able to detect an AND condition between CC1 and CC2 and connect one of the SOC's UARTs to pins on the USB-C connector. In all other cases, the UART should be disconnected. It also requires the PINE64 Store ship a simple one-sided (no magical flipping here, sorry) connector board which breaks out USB 2.0 and UART.


There were concerns that cheap USB-C cables have both CC1 and CC2 shorted together to save a wire.
There are concerns that cheap USB-C cables have both CC1 and CC2 shorted together to save a wire. This may cause the PineNote to output 3.3v UART to a device that isn't expecting it, assuming the two are plugged together with a nonstandard cable.
 
Detecting a pull-up condition is all that is required, as according to the USB-C spec, 'B.2.4.1.5.1 ("UnattachedDeb.SRC Requirements"), a Debug and Test System (DTS) that is a power source must pull CC1/CC2 up, while the Target System (TS) in Unattached.SNK is supposed to pull them low.' In English, this means that we'd only need to detect a pull-up condition on CC1 and CC2, meaning a logical AND between them is a sane solution. <del>There is an additional concern (not in the IRC logs) that only checking for CC1 and CC2 being pulled high is not technically within USB-C DAM specifications, since detecting CC1 and CC2 being pulled high ''or'' low is mentioned.<del>


There were concerns that checking CC1 and CC2 being pulled high was not strictly to USB-C standard, as detecting them being pulled low is mentioned in the standard. However,h etecting a pull-up condition is all that is required. According to the USB-C spec, 'B.2.4.1.5.1 ("UnattachedDeb.SRC Requirements"), a Debug and Test System (DTS) that is a power source must pull CC1/CC2 up, while the Target System (TS) in Unattached.SNK is supposed to pull them low.' In English, this means that we'd only need to detect a pull-up condition on CC1 and CC2, meaning a logical AND between them is a sane solution.
IRC logs of this discussion can be found at [[PineNote/Debug_Accessory_Mode_Discussion]].
IRC logs of this discussion can be found at [[PineNote/Debug_Accessory_Mode_Discussion]].