Message ID | 20240129-x13s-touchscreen-v3-1-c4a933034145@quicinc.com |
---|---|
State | New |
Headers | show |
Series | arm64: dts: qcom: sc8280xp-x13s: Enable touchscreen | expand |
On Mon, Jan 29, 2024 at 05:56:47PM +0100, Johan Hovold wrote: > On Mon, Jan 29, 2024 at 08:47:47AM -0800, Bjorn Andersson wrote: > > Some I2C HID devices has a reset pin and requires that some specified > > time elapses after this reset pin is deasserted, before communication > > with the device is attempted. > > > > The Linux implementation is looking for these in the "reset-gpios" and > > "post-reset-deassert-delay-ms" properties already, so use these property > > names. > > > + post-reset-deassert-delay-ms: > > + description: Time required by the device after reset has been deasserted, > > + before it is ready for communication. > > + > > + reset-gpios: true > > Hmm, for the third time, it seems you ignored my comment that you need > to remove the comment about these properties from the driver as part of > this series. > > /* > * Note this is a kernel internal device-property set by x86 platform code, > * this MUST not be used in devicetree files without first adding it to > * the DT bindings. > */ > if (!device_property_read_u32(dev, "post-reset-deassert-delay-ms", &val)) > ihid_of->post_reset_delay_ms = val; DT devices should have a specific compatible that gives enough detail to handle this delay or *any* other power sequencing requirement. OTOH, we've already got one other delay property, what's one more. Sigh. Acked-by: Rob Herring <robh@kernel.org> Rob
On Wed, Jan 31, 2024 at 02:22:39PM -0600, Rob Herring wrote: > On Mon, Jan 29, 2024 at 05:56:47PM +0100, Johan Hovold wrote: > > On Mon, Jan 29, 2024 at 08:47:47AM -0800, Bjorn Andersson wrote: > > > Some I2C HID devices has a reset pin and requires that some specified > > > time elapses after this reset pin is deasserted, before communication > > > with the device is attempted. > > > > > > The Linux implementation is looking for these in the "reset-gpios" and > > > "post-reset-deassert-delay-ms" properties already, so use these property > > > names. > > > > > + post-reset-deassert-delay-ms: > > > + description: Time required by the device after reset has been deasserted, > > > + before it is ready for communication. > > > + > > > + reset-gpios: true > > > > Hmm, for the third time, it seems you ignored my comment that you need > > to remove the comment about these properties from the driver as part of > > this series. > > > > /* > > * Note this is a kernel internal device-property set by x86 platform code, > > * this MUST not be used in devicetree files without first adding it to > > * the DT bindings. > > */ > > if (!device_property_read_u32(dev, "post-reset-deassert-delay-ms", &val)) > > ihid_of->post_reset_delay_ms = val; > > DT devices should have a specific compatible that gives enough detail to > handle this delay or *any* other power sequencing requirement. > > OTOH, we've already got one other delay property, what's one more. Sigh. > > Acked-by: Rob Herring <robh@kernel.org> Right, and I guess we could do this now before this new property gets more use. Who knows if those delays are actually correct or may need to be tweaked down the line. Apparently we only have one specific i2c-hid compatible in the kernel (and it's not yet used by the driver). Johan
diff --git a/Documentation/devicetree/bindings/input/hid-over-i2c.yaml b/Documentation/devicetree/bindings/input/hid-over-i2c.yaml index 138caad96a29..f07ff4cb3d26 100644 --- a/Documentation/devicetree/bindings/input/hid-over-i2c.yaml +++ b/Documentation/devicetree/bindings/input/hid-over-i2c.yaml @@ -50,6 +50,12 @@ properties: description: Time required by the device after enabling its regulators or powering it on, before it is ready for communication. + post-reset-deassert-delay-ms: + description: Time required by the device after reset has been deasserted, + before it is ready for communication. + + reset-gpios: true + touchscreen-inverted-x: true touchscreen-inverted-y: true