Re: [PATCH 2/3] dt-bindings: usb: mtk-xhci: Allow middle optional clocks to be missing
From: Krzysztof Kozlowski <hidden>
Date: 2022-06-20 08:51:07
Also in:
linux-devicetree, linux-mediatek, linux-usb, lkml
On 20/06/2022 08:59, Chunfeng Yun wrote:
On Sun, 2022-06-19 at 14:05 +0200, Krzysztof Kozlowski wrote:quoted
On 19/06/2022 09:46, Chunfeng Yun wrote:quoted
On Fri, 2022-06-17 at 18:25 -0700, Krzysztof Kozlowski wrote:quoted
On 17/06/2022 15:29, Nícolas F. R. A. Prado wrote:quoted
The current clock list in the binding doesn't allow for one of the optional clocks to be missing and a subsequent clock to be present. An example where this is an issue is in mt8192.dtsi, which has "sys_ck", "ref_ck", "xhci_ck" and would cause dtbs_check warnings. Change the clock list in a way that allows the middle optional clocks to be missing, while still guaranteeing a fixed order. The "ref_ck" is kept as a const even though it is optional for simplicity, since it is present in all current dts files. Signed-off-by: Nícolas F. R. A. Prado <redacted> --- .../devicetree/bindings/usb/mediatek,mtk-xhci.yaml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/usb/mediatek,mtk- xhci.yaml b/Documentation/devicetree/bindings/usb/mediatek,mtk- xhci.yaml index 63cbc2b62d18..99a1b233ec90 100644--- a/Documentation/devicetree/bindings/usb/mediatek,mtk-xhci.yaml+++ b/Documentation/devicetree/bindings/usb/mediatek,mtk-xhci.yaml@@ -80,8 +80,13 @@ properties: items: - const: sys_ck # required, the following ones areoptional - const: ref_ck - - const: mcu_ck - - const: dma_ck + - enum: + - mcu_ck + - dma_ck + - xhci_ck + - enum: + - dma_ck + - xhci_ck - const: xhci_ckYou allow now almost any order here, including incorrect like sys,ref,xhci,xhci,xhci. The order of clocks has to be fixed and we cannot allow flexibility. Are you sure that these clocks are actually optional (not wired to the device)?In fact, these optional clocks are fixed, due to no gates are provided, SW can't control them by CCF; In this case, I usually use a fixed clock, or ignore it.But in some versions these clocks are controllable or not?Some SoCs are controllable, some ones are not (fixed clock).
Thanks for confirming. Then I would prefer to make these clocks required (not optional) and always provide them - via common clock framework or fixed-clock. Best regards, Krzysztof _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel