Re: [PATCH v5 1/3] dt-bindings: clk: vc5: Add properties for configuring the SD/OE pin

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jul 22, 2021 at 03:09:16PM -0400, Sean Anderson wrote:
> These properties allow configuring the SD/OE pin as described in the
> datasheet.
> 
> Signed-off-by: Sean Anderson <sean.anderson@xxxxxxxx>
> ---
> This patch requires the dt-schema commit 25b1b49 ("meta-schemas: Drop
> restrictions on top level 'allOf'") to pass dt_binding_check.
> 
> Changes in v5:
> - Don't use dummy if's for oneOfs under allOfs
> 
> Changes in v4:
> - Specify that bindings should specify these properties, but don't make
>   any guarantees about the driver's behavior when they are not present.
> - Clarify description of idt,(en|dis)able-shutdown properties.
> - Make opposing properties mutually exclusive.
> - Add these properties to the example.
> 
> Changes in v3:
> - Add idt,disable-shutdown and idt,output-enable-active-low to allow for
>   a default of not changing the SP/SH bits at all.
> 
> Changes in v2:
> - Rename idt,sd-active-high to idt,output-enable-active-high
> - Add idt,enable-shutdown
> 
>  .../bindings/clock/idt,versaclock5.yaml       | 57 +++++++++++++++++++
>  1 file changed, 57 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/clock/idt,versaclock5.yaml b/Documentation/devicetree/bindings/clock/idt,versaclock5.yaml
> index 28675b0b80f1..1abf69e6b8e9 100644
> --- a/Documentation/devicetree/bindings/clock/idt,versaclock5.yaml
> +++ b/Documentation/devicetree/bindings/clock/idt,versaclock5.yaml
> @@ -30,6 +30,21 @@ description: |
>      3 -- OUT3
>      4 -- OUT4
>  
> +  The idt,(en|dis)able-shutdown and idt,output-enable-active-(high|low)
> +  properties control the SH (en_global_shutdown) and SP bits of the
> +  Primary Source and Shutdown Register, respectively. Their behavior is
> +  summarized by the following table:
> +
> +  SH SP Output when the SD/OE pin is Low/High
> +  == == =====================================
> +   0  0 Active/Inactive
> +   0  1 Inactive/Active
> +   1  0 Active/Shutdown
> +   1  1 Inactive/Shutdown
> +
> +  One of idt,(en|dis)able-shutdown and one of
> +  idt,output-enable-active-(high|low) should be specified.
> +
>  maintainers:
>    - Luca Ceresoli <luca@xxxxxxxxxxxxxxxx>
>  
> @@ -64,6 +79,34 @@ properties:
>      maximum: 22760
>      description: Optional load capacitor for XTAL1 and XTAL2
>  
> +  idt,enable-shutdown:
> +    $ref: /schemas/types.yaml#/definitions/flag
> +    description: |
> +      Enable the shutdown functionality. The chip will be shut down if
> +      the SD/OE pin is driven high. This corresponds to setting the SH
> +      bit of the Primary Source and Shutdown Register.
> +
> +  idt,disable-shutdown:
> +    $ref: /schemas/types.yaml#/definitions/flag
> +    description: |
> +      Disable the shutdown functionality. The chip will never be shut
> +      down based on the value of the SD/OE pin. This corresponds to
> +      clearing the SH bit of the Primary Source and Shutdown Register.

If these are mutually exclusive, better to do tristate. So 'idt,shutdown 
= 0|1' for disable/enable. Not present means use the default.

> +
> +  idt,output-enable-active-high:
> +    $ref: /schemas/types.yaml#/definitions/flag
> +    description: |
> +      This enables output when the SD/OE pin is high, and disables
> +      output when the SD/OE pin is low. This corresponds to setting the
> +      SP bit of the Primary Source and Shutdown Register.
> +
> +  idt,output-enable-active-low:
> +    $ref: /schemas/types.yaml#/definitions/flag
> +    description: |
> +      This disables output when the SD/OE pin is high, and enables
> +      output when the SD/OE pin is low. This corresponds to clearing the
> +      SP bit of the Primary Source and Shutdown Register.

And here 'idt,output-enable-active = 0|1'.

> +
>  patternProperties:
>    "^OUT[1-4]$":
>      type: object
> @@ -109,6 +152,16 @@ allOf:
>        required:
>          - clock-names
>          - clocks
> +  - oneOf:
> +      - required:
> +          - idt,enable-shutdown
> +      - required:
> +          - idt,disable-shutdown
> +  - oneOf:
> +      - required:
> +          - idt,output-enable-active-high
> +      - required:
> +          - idt,output-enable-active-low

Then you can drop all this.

>  
>  additionalProperties: false
>  
> @@ -138,6 +191,10 @@ examples:
>              clocks = <&ref25m>;
>              clock-names = "xin";
>  
> +            /* Set the SD/OE pin's settings */
> +            idt,disable-shutdown;
> +            idt,output-enable-active-low;
> +
>              OUT1 {
>                  idt,drive-mode = <VC5_CMOSD>;
>                  idt,voltage-microvolts = <1800000>;
> -- 
> 2.25.1
> 
> 



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux