diff mbox series

[4/5] dt-bindings: media: max9286: Add reverse channel amplitude

Message ID 20200316202757.529740-5-jacopo+renesas@jmondi.org (mailing list archive)
State New
Delegated to: Kieran Bingham
Headers show
Series media: i2c: max9286: Add configuration properties | expand

Commit Message

Jacopo Mondi March 16, 2020, 8:27 p.m. UTC
The MAX9286 chip exposes registers to control the reverse channel
amplitude signal. The channel amplitude has to be configured according
to the connected remote serializer settings, in order to guarantee
reliable communications.

Serializer might be pre-programmed and initialize with their reverse
channel noise threshold level increased. While this is intended to
increase the signal/noise immunity ratio on the channel, the
deserializer should be initialized accordingly, with its channel
amplitude increased to 170mV.

Add to the bindings documentation a required property to allow DTS users
to specify the initial setting of the deserializer reverse channel and
accommodate different serializer models.

Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
---
 .../bindings/media/i2c/maxim,max9286.yaml     | 21 +++++++++++++++++++
 1 file changed, 21 insertions(+)

Comments

Kieran Bingham March 18, 2020, 9:55 a.m. UTC | #1
Hi Jacopo,

On 16/03/2020 20:27, Jacopo Mondi wrote:
> The MAX9286 chip exposes registers to control the reverse channel
> amplitude signal. The channel amplitude has to be configured according
> to the connected remote serializer settings, in order to guarantee
> reliable communications.
> 
> Serializer might be pre-programmed and initialize with their reverse
> channel noise threshold level increased. While this is intended to
> increase the signal/noise immunity ratio on the channel, the
> deserializer should be initialized accordingly, with its channel
> amplitude increased to 170mV.
> 
> Add to the bindings documentation a required property to allow DTS users
> to specify the initial setting of the deserializer reverse channel and
> accommodate different serializer models.
> 

Same comments really as the other property, that these are highly
dependent upon the serializer which is connected, so I wonder if there's
a better way to describe that association / communication requirement.

> Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
> ---
>  .../bindings/media/i2c/maxim,max9286.yaml     | 21 +++++++++++++++++++
>  1 file changed, 21 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/media/i2c/maxim,max9286.yaml b/Documentation/devicetree/bindings/media/i2c/maxim,max9286.yaml
> index ee8e0418b3f0..a1c56734a727 100644
> --- a/Documentation/devicetree/bindings/media/i2c/maxim,max9286.yaml
> +++ b/Documentation/devicetree/bindings/media/i2c/maxim,max9286.yaml
> @@ -54,6 +54,25 @@ properties:
>      allOf:
>        - $ref: /schemas/types.yaml#/definitions/uint32
>  
> +  maxim,reverse-channel-amplitude:
> +    description: |
> +      The reverse channel amplitude initial value, in milliVolts. If the remote

Should there be a newline after milliVolts. ? That seems like a brief,
followed by a description but all flowing together?

> +      serializer is pre-programmed with an high reverse channel noise threshold,

/an/a/

> +      the deserializer channel amplitude shall initially be increased to 170mV
> +      to allow the two to communicate reliably. Likewise, if the remote
> +      serializer probes without an increased reverse channel noise threshold,
> +      the deserializer initial reverse channel amplitude should be set to 100mV
> +      to be later increased to 170mV after serializers have increased their

/after/after the/

> +      reverse channel noise threshold.
> +    maxItems: 1
> +    allOf:
> +      - $ref: /schemas/types.yaml#/definitions/uint32
> +    # The property can be easily expanded to support more values if needed,
> +    # but that's what's supported today by the driver.

Stating "that's what's supported today" seems a bit redundant...

> +    oneOf:
> +      - const: 100
> +      - const: 170
> +
>    ports:
>      type: object
>      description: |
> @@ -155,6 +174,7 @@ required:
>    - compatible
>    - reg
>    - maxim,overlap-window
> +  - maxim,reverse-channel-amplitude
>    - ports
>    - i2c-mux
>  
> @@ -177,6 +197,7 @@ examples:
>          poc-supply = <&camera_poc_12v>;
>          enable-gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
>          maxim,overlap-window = MAX9286_OVLP_WINDOW_DISABLED;
> +        maxim,reverse-channel-amplitude = <170>;
>  
>          ports {
>            #address-cells = <1>;
>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/media/i2c/maxim,max9286.yaml b/Documentation/devicetree/bindings/media/i2c/maxim,max9286.yaml
index ee8e0418b3f0..a1c56734a727 100644
--- a/Documentation/devicetree/bindings/media/i2c/maxim,max9286.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/maxim,max9286.yaml
@@ -54,6 +54,25 @@  properties:
     allOf:
       - $ref: /schemas/types.yaml#/definitions/uint32
 
+  maxim,reverse-channel-amplitude:
+    description: |
+      The reverse channel amplitude initial value, in milliVolts. If the remote
+      serializer is pre-programmed with an high reverse channel noise threshold,
+      the deserializer channel amplitude shall initially be increased to 170mV
+      to allow the two to communicate reliably. Likewise, if the remote
+      serializer probes without an increased reverse channel noise threshold,
+      the deserializer initial reverse channel amplitude should be set to 100mV
+      to be later increased to 170mV after serializers have increased their
+      reverse channel noise threshold.
+    maxItems: 1
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32
+    # The property can be easily expanded to support more values if needed,
+    # but that's what's supported today by the driver.
+    oneOf:
+      - const: 100
+      - const: 170
+
   ports:
     type: object
     description: |
@@ -155,6 +174,7 @@  required:
   - compatible
   - reg
   - maxim,overlap-window
+  - maxim,reverse-channel-amplitude
   - ports
   - i2c-mux
 
@@ -177,6 +197,7 @@  examples:
         poc-supply = <&camera_poc_12v>;
         enable-gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
         maxim,overlap-window = MAX9286_OVLP_WINDOW_DISABLED;
+        maxim,reverse-channel-amplitude = <170>;
 
         ports {
           #address-cells = <1>;