Message ID | 20250312104344.3084425-2-wenst@chromium.org |
---|---|
State | New |
Headers | show |
Series | arm64: mediatek: mt8186-corsola: Consolidate and add new devices | expand |
Hi, On Wed, Mar 12, 2025 at 3:43 AM Chen-Yu Tsai <wenst@chromium.org> wrote: > > The Elan eKTH8D18 touchscreen controller is an I2C HID device with a > longer boot-up time. Power sequence timing wise it is compatible with > the eKTH6A12NAY, with a power-on delay of at least 5ms, 20ms > out-of-reset for I2C ack response, and 150ms out-of-reset for I2C HID > enumeration. Enumeration and subsequent operation follows the I2C HID > standard. The eKTH6A12NAY requires longer times for both parts. Somehow the last sentence above confused me. Can it just be dropped? All you care about is that the new trackpad matches the timings for "eKTH6A12NAY". Not sure what you mean by "eKTH6A12NAY" needing "longer" timings. > Add a compatible string for it with the ekth6a12nay one as a fallback. > > Signed-off-by: Chen-Yu Tsai <wenst@chromium.org> > --- > .../bindings/input/elan,ekth6915.yaml | 29 ++++++++++++++++--- > 1 file changed, 25 insertions(+), 4 deletions(-) > > diff --git a/Documentation/devicetree/bindings/input/elan,ekth6915.yaml b/Documentation/devicetree/bindings/input/elan,ekth6915.yaml > index cb3e1801b0d3..81c391952ccc 100644 > --- a/Documentation/devicetree/bindings/input/elan,ekth6915.yaml > +++ b/Documentation/devicetree/bindings/input/elan,ekth6915.yaml > @@ -4,14 +4,14 @@ > $id: http://devicetree.org/schemas/input/elan,ekth6915.yaml# > $schema: http://devicetree.org/meta-schemas/core.yaml# > > -title: Elan eKTH6915 touchscreen controller > +title: Elan I2C-HID touchscreen controllers > > maintainers: > - Douglas Anderson <dianders@chromium.org> > > description: > - Supports the Elan eKTH6915 touchscreen controller. > - This touchscreen controller uses the i2c-hid protocol with a reset GPIO. > + Supports the Elan eKTH6915 and other I2C-HID touchscreen controllers. > + These touchscreen controller use the i2c-hid protocol with a reset GPIO. > > allOf: > - $ref: /schemas/input/touchscreen/touchscreen.yaml# > @@ -23,12 +23,18 @@ properties: > - enum: > - elan,ekth5015m > - const: elan,ekth6915 > + - items: > + - enum: > + - elan,ekth8d18 > + - const: elan,ekth6a12nay The "enum" above is weird, but it matches what we did for "elan,ekth5015m" so I guess it's fine? I'd leave it up to bindings maintainers. I guess the assumption is that we might add additional touchscreens to the list... > reg: > - const: 0x10 > + enum: > + - 0x10 > + - 0x16 Again happy to leave it to the bindings maintainers, but _maybe_ just drop the "reg" parts here and below. It doesn't really have to be part of the bindings.
On Fri, Mar 14, 2025 at 02:58:36PM -0700, Doug Anderson wrote: > Hi, > > > On Wed, Mar 12, 2025 at 3:43 AM Chen-Yu Tsai <wenst@chromium.org> wrote: > > > > The Elan eKTH8D18 touchscreen controller is an I2C HID device with a > > longer boot-up time. Power sequence timing wise it is compatible with > > the eKTH6A12NAY, with a power-on delay of at least 5ms, 20ms > > out-of-reset for I2C ack response, and 150ms out-of-reset for I2C HID > > enumeration. Enumeration and subsequent operation follows the I2C HID > > standard. The eKTH6A12NAY requires longer times for both parts. > > Somehow the last sentence above confused me. Can it just be dropped? > All you care about is that the new trackpad matches the timings for > "eKTH6A12NAY". Not sure what you mean by "eKTH6A12NAY" needing > "longer" timings. > > > > Add a compatible string for it with the ekth6a12nay one as a fallback. > > > > Signed-off-by: Chen-Yu Tsai <wenst@chromium.org> > > --- > > .../bindings/input/elan,ekth6915.yaml | 29 ++++++++++++++++--- > > 1 file changed, 25 insertions(+), 4 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/input/elan,ekth6915.yaml b/Documentation/devicetree/bindings/input/elan,ekth6915.yaml > > index cb3e1801b0d3..81c391952ccc 100644 > > --- a/Documentation/devicetree/bindings/input/elan,ekth6915.yaml > > +++ b/Documentation/devicetree/bindings/input/elan,ekth6915.yaml > > @@ -4,14 +4,14 @@ > > $id: http://devicetree.org/schemas/input/elan,ekth6915.yaml# > > $schema: http://devicetree.org/meta-schemas/core.yaml# > > > > -title: Elan eKTH6915 touchscreen controller > > +title: Elan I2C-HID touchscreen controllers > > > > maintainers: > > - Douglas Anderson <dianders@chromium.org> > > > > description: > > - Supports the Elan eKTH6915 touchscreen controller. > > - This touchscreen controller uses the i2c-hid protocol with a reset GPIO. > > + Supports the Elan eKTH6915 and other I2C-HID touchscreen controllers. > > + These touchscreen controller use the i2c-hid protocol with a reset GPIO. > > > > allOf: > > - $ref: /schemas/input/touchscreen/touchscreen.yaml# > > @@ -23,12 +23,18 @@ properties: > > - enum: > > - elan,ekth5015m > > - const: elan,ekth6915 > > + - items: > > + - enum: > > + - elan,ekth8d18 > > + - const: elan,ekth6a12nay > > The "enum" above is weird, but it matches what we did for > "elan,ekth5015m" so I guess it's fine? I'd leave it up to bindings > maintainers. I guess the assumption is that we might add additional > touchscreens to the list... Yes, but up to you all if that's a valid assumption. > > > > reg: > > - const: 0x10 > > + enum: > > + - 0x10 > > + - 0x16 > > Again happy to leave it to the bindings maintainers, but _maybe_ just > drop the "reg" parts here and below. It doesn't really have to be part > of the bindings. I tend to agree. Sometimes we list I2C addresses as that is part of the device whereas elsewhere it is not. I don't know that it's worth the if/then schema in this case. Rob
diff --git a/Documentation/devicetree/bindings/input/elan,ekth6915.yaml b/Documentation/devicetree/bindings/input/elan,ekth6915.yaml index cb3e1801b0d3..81c391952ccc 100644 --- a/Documentation/devicetree/bindings/input/elan,ekth6915.yaml +++ b/Documentation/devicetree/bindings/input/elan,ekth6915.yaml @@ -4,14 +4,14 @@ $id: http://devicetree.org/schemas/input/elan,ekth6915.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# -title: Elan eKTH6915 touchscreen controller +title: Elan I2C-HID touchscreen controllers maintainers: - Douglas Anderson <dianders@chromium.org> description: - Supports the Elan eKTH6915 touchscreen controller. - This touchscreen controller uses the i2c-hid protocol with a reset GPIO. + Supports the Elan eKTH6915 and other I2C-HID touchscreen controllers. + These touchscreen controller use the i2c-hid protocol with a reset GPIO. allOf: - $ref: /schemas/input/touchscreen/touchscreen.yaml# @@ -23,12 +23,18 @@ properties: - enum: - elan,ekth5015m - const: elan,ekth6915 + - items: + - enum: + - elan,ekth8d18 + - const: elan,ekth6a12nay - enum: - elan,ekth6915 - elan,ekth6a12nay reg: - const: 0x10 + enum: + - 0x10 + - 0x16 interrupts: maxItems: 1 @@ -58,6 +64,21 @@ required: - interrupts - vcc33-supply +if: + properties: + compatible: + contains: + enum: + - elan,ekth8d18 +then: + properties: + reg: + const: 0x16 +else: + properties: + reg: + const: 0x10 + additionalProperties: false examples:
The Elan eKTH8D18 touchscreen controller is an I2C HID device with a longer boot-up time. Power sequence timing wise it is compatible with the eKTH6A12NAY, with a power-on delay of at least 5ms, 20ms out-of-reset for I2C ack response, and 150ms out-of-reset for I2C HID enumeration. Enumeration and subsequent operation follows the I2C HID standard. The eKTH6A12NAY requires longer times for both parts. Add a compatible string for it with the ekth6a12nay one as a fallback. Signed-off-by: Chen-Yu Tsai <wenst@chromium.org> --- .../bindings/input/elan,ekth6915.yaml | 29 ++++++++++++++++--- 1 file changed, 25 insertions(+), 4 deletions(-)