[no subject]

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

 



I suppose one conclusion one might make is that we never should have
used "goodix,gt7986u" as a compatible string in the first place and
should have instead added a new compatible string for every actual
instantiation of a touchscreen. So when Vendor1 made touchscreen 1234
based on GT7986U then we could have used the compatible
"vendor1,touchscreen1234" and then when Vendor2 made touchscreen 5678
based on GT7986U we could have used the compatible
"vendor2,touchscreen5678". Should we have done this / should we do it
in the future? I don't know. If everyone using GT7986U is adhering to
the same interface then it doesn't buy us a ton and adds lots more
bindings. I think I ended up originally adding the Goodix GT7375P
bindings because someone gave me a datasheet with all the power
sequencing and timings that came from Goodix and said it was for the
"Goodix GT7375P". Given the fact that Goodix provides such a datasheet
and it includes power sequencing is a strong indicator that there
truly is a standard and we can use that.

In any case, if we _had_ used a different compatible for each actual
touchscreen implementation then we wouldn't be having this discussion.
Those touchscreens that shipped with a controller board that had SPI
connections and SPI firmware would have had obviously different
compatible strings than the touchscreens that shipped with a
controller board designed for I2C.

If we _do_ want to keep using a compatible like "goodix,gt7986u" then,
IMO, it's beneficial to also have a SPI-variant compatible like
"goodix,gt7986u-spi". This is not a second interface to one device but
it's actually a distinct interface compared to the Goodix I2C
interface. Note: this assumes there isn't some hidden benefit to
having a combined "I2C/SPI" bindings file. I find having the combined
file buys me nothing and just makes it more confusing / adds
complexity. Is there some benefit I'm missing other than towing the
line of "one chip, one compatible"?


> It is important to note that the type of driver used by the final device
> is related not only to the bus type but also to the final firmware. Even
> when using the same I2C bus, different drivers may be needed, such as
> hid-i2c or a customer-specific driver.

Right. ...the firmware that's on the device matters and distinct
firmware can make a distinct device, and IMO a GT7986U loaded with I2C
firmware is a distinct device than a GT7986U loaded with SPI firmware.
They are not the same and thus don't need the same compatible.


-Doug





[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