• Maxime Ripard's avatar
    dt-bindings: bluetooth: broadcom: Fix clocks check · 88ffadce
    Maxime Ripard authored
    The original binding was mentioning that valid values for the clocks and
    clock-names property were one or two clocks from extclk, txco and lpo,
    with extclk being deprecated in favor of txco.
    
    However, the current binding lists a valid array as extclk, txco and
    lpo, with either one or two items.
    
    While this looks similar, it actually enforces that all the device trees
    use either ["extclk"], or ["extclk", "txco"]. That doesn't make much
    sense, since the two clocks are said to be equivalent, with one
    superseeding the other.
    
    lpo is also not a valid clock anymore, and would be as the third clock
    of the list, while we could have only this clock in the previous binding
    (and in DTs).
    
    Let's rework the clock clause to allow to have either:
    
     - extclk, and mark it a deprecated
     - txco alone
     - lpo alone
     - txco, lpo
    
    While ["extclk", "lpo"] wouldn't be valid, it wasn't found in any device
    tree so it's not an issue in practice.
    
    Similarly, ["lpo", "txco"] is still considered invalid, but it's
    generally considered as a best practice to fix the order of clocks.
    
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Jakub Kicinski <kuba@kernel.org>
    Cc: netdev@vger.kernel.org
    Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    Reviewed-by: default avatarRob Herring <robh@kernel.org>
    Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
    Signed-off-by: default avatarRob Herring <robh@kernel.org>
    Link: https://lore.kernel.org/r/20210924072756.869731-1-maxime@cerno.tech
    88ffadce
broadcom-bluetooth.yaml 3.35 KB