• Archit Taneja's avatar
    OMAPDSS: DT: Get source endpoint by matching reg-id · ef691ff4
    Archit Taneja authored
    In omapdss_of_find_source_for_first_ep, we retrieve a source endpoint's DT node,
    and then see what omapdss output has the matching device_node pointer in
    omap_dss_find_output_by_node.
    
    For all DPI and SDI outputs, the device_node pointer is set as the parent's DSS
    device_node pointer. If the source is one of these outputs, the above method
    won't work.
    
    To get the correct output for ports within DSS(and in other cases in the future,
    where multiple ports might be under one device), we require additional
    information which is exclusive to the output port.
    
    We create a new field in omap_dss_device called 'port_num', this provides port
    number of the output port corresponding to this device. When searching for the
    source endpoint in DT, we extract the 'reg' property from the port corresponding
    to the endpoint source. From the list of registered outputs, we pick out that
    output which has both dev->of_node and port_num matching with the device_node
    pointer and 'reg' of the source endpoint node from DT.
    
    For encoder blocks(the ones which have both an input and output port), we need
    to set the port_num as the 'reg' property for the output port as defined in the
    DT bindings. We set port_num to 1 in the tfp410 and tpd12s015 encoder drivers.
    Signed-off-by: default avatarArchit Taneja <archit@ti.com>
    Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
    ef691ff4
encoder-tpd12s015.c 10.7 KB