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 |
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 --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>;
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(+)