• Heiko Stuebner's avatar
    phy: rockchip-usb: add handler for usb-uart functionality · 605df8af
    Heiko Stuebner authored
    Most newer Rockchip SoCs provide the possibility to use a usb-phy
    as passthrough for the debug uart (uart2), making it possible to
    for example get console output without needing to open the device.
    
    This patch adds an early_initcall to enable this functionality
    conditionally via the commandline and also disables the corresponding
    usb controller in the devicetree.
    
    Currently only data for the rk3288 is provided, but at least the
    rk3188 and arm64 rk3368 also provide this functionality and will be
    enabled later.
    
    On a spliced usb cable the signals are tx on white wire(D+) and
    rx on green wire(D-).
    
    The one caveat is that currently the reconfiguration of the phy
    happens as early_initcall, as the code depends on the unflattened
    devicetree being available. Everything is fine if only a regular
    console is active as the console-replay will happen after the
    reconfiguation. But with earlycon active output up to smp-init
    currently will get lost.
    
    The phy is an optional property for the connected dwc2 controller,
    so we still provide the phy device but fail all phy-ops with -EBUSY
    to make sure the dwc2 does not try to transmit anything on the
    repurposed phy.
    Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
    Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
    605df8af
phy-rockchip-usb.c 12.5 KB