Message ID | TY0PR06MB5611C37640AA40B2B7716ABE9E3E2@TY0PR06MB5611.apcprd06.prod.outlook.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | HID: Add support for Himax HX83102j touchscreen | expand |
On Tue, Apr 02, 2024 at 06:49:27PM +0800, Allen_Lin wrote: > Add the HX83102j touchscreen device tree bindings documents. > HX83102j is a Himax TDDI touchscreen controller. > It's power sequence should be bound with a lcm driver, thus it > needs to be a panel follower. Others are the same as normal SPI > touchscreen controller. > > Signed-off-by: Allen_Lin <allencl_lin@hotmail.com> > --- > .../input/touchscreen/himax,hx83102j.yaml | 100 ++++++++++++++++++ > MAINTAINERS | 6 ++ > 2 files changed, 106 insertions(+) > create mode 100644 Documentation/devicetree/bindings/input/touchscreen/himax,hx83102j.yaml > > diff --git a/Documentation/devicetree/bindings/input/touchscreen/himax,hx83102j.yaml b/Documentation/devicetree/bindings/input/touchscreen/himax,hx83102j.yaml > new file mode 100644 > index 000000000000..fe79129f704a > --- /dev/null > +++ b/Documentation/devicetree/bindings/input/touchscreen/himax,hx83102j.yaml > @@ -0,0 +1,100 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/input/touchscreen/himax,hx83102j.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Himax hx83102j touchscreen > + > +maintainers: > + - Allen Lin <allencl_lin@hotmail.com> > + > +description: > + This Himax hx83102j touchscreen uses the spi protocol. > + > +allOf: > + - $ref: /schemas/input/touchscreen/touchscreen.yaml# > + - $ref: /schemas/spi/spi-peripheral-props.yaml# > + > +properties: > + compatible: > + const: himax,hx83102j > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + reset-gpios: > + maxItems: 1 > + > + vccd-supply: > + description: A phandle for the regualtor supplying IO power. nit: regulator > + > + vsn-supply: > + description: Negative supply regulator. > + > + vsp-supply: > + description: Positive supply regulator. Cool, thanks for adding these. > + > + ddreset-gpios: > + description: A phandle of gpio for display reset controlled by the LCD driver. > + This is the master reset, if this reset is triggered, the TP reset will > + also be triggered. > + > + spi-cpha: true > + > + spi-cpol: true > + > + spi-max-frequency: true > + > + panel: true > + > + himax,firmware-name: firmware-name is a standard property, you don't need to vendor prefix it. > + $ref: /schemas/types.yaml#/definitions/string > + description: > + Specify the file name for firmware loading. > + > + himax,pid: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + PID for HID device, used to validate firmware. Why do you need this _and_ firmware-name? You should be able to trust the firmware that the dt has told you to use, no? Cheers, Conor. > + > +required: > + - compatible > + - reg > + - interrupts > + - reset-gpios > + - panel > + - vccd-supply > + - vsn-supply > + - vsp-supply > + - ddreset-gpios > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/gpio/gpio.h> > + #include <dt-bindings/interrupt-controller/irq.h> > + spi { > + #address-cells = <1>; > + #size-cells = <0>; > + ap_ts: touchscreen@0 { > + compatible = "himax,hx83102j"; > + reg = <0>; > + pinctrl-names = "default"; > + pinctrl-0 = <&touch_int0 &touch_reset>; > + reset-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>; > + spi-cpha; > + spi-cpol; > + interrupt-parent = <&gpio1>; > + interrupts = <7 IRQ_TYPE_LEVEL_LOW>; > + panel = <&panel>; > + vccd-supply = <®ulator>; > + vsn-supply = <®ulator>; > + vsp-supply = <®ulator>; > + ddreset-gpios = <&gpio1>; > + }; > + }; > diff --git a/MAINTAINERS b/MAINTAINERS > index 43b39956694a..aa51c60fd66d 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -9669,6 +9669,12 @@ L: linux-kernel@vger.kernel.org > S: Maintained > F: drivers/misc/hisi_hikey_usb.c > > +HIMAX HID HX83102J TOUCHSCREEN > +M: Allen Lin <allencl_lin@hotmail.com> > +L: linux-input@vger.kernel.org > +S: Maintained > +F: Documentation/devicetree/bindings/input/touchscreen/himax,hx83102j.yaml > + > HIMAX HX83112B TOUCHSCREEN SUPPORT > M: Job Noorman <job@noorman.info> > L: linux-input@vger.kernel.org > -- > 2.34.1 >
Conor Dooley <conor@kernel.org> 於 2024年4月3日 週三 上午2:09寫道: > > On Tue, Apr 02, 2024 at 06:49:27PM +0800, Allen_Lin wrote: > > Add the HX83102j touchscreen device tree bindings documents. > > HX83102j is a Himax TDDI touchscreen controller. > > It's power sequence should be bound with a lcm driver, thus it > > needs to be a panel follower. Others are the same as normal SPI > > touchscreen controller. > > > > Signed-off-by: Allen_Lin <allencl_lin@hotmail.com> > > --- > > .../input/touchscreen/himax,hx83102j.yaml | 100 ++++++++++++++++++ > > MAINTAINERS | 6 ++ > > 2 files changed, 106 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/input/touchscreen/himax,hx83102j.yaml > > > > diff --git a/Documentation/devicetree/bindings/input/touchscreen/himax,hx83102j.yaml b/Documentation/devicetree/bindings/input/touchscreen/himax,hx83102j.yaml > > new file mode 100644 > > index 000000000000..fe79129f704a > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/input/touchscreen/himax,hx83102j.yaml > > @@ -0,0 +1,100 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/input/touchscreen/himax,hx83102j.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Himax hx83102j touchscreen > > + > > +maintainers: > > + - Allen Lin <allencl_lin@hotmail.com> > > + > > +description: > > + This Himax hx83102j touchscreen uses the spi protocol. > > + > > +allOf: > > + - $ref: /schemas/input/touchscreen/touchscreen.yaml# > > + - $ref: /schemas/spi/spi-peripheral-props.yaml# > > + > > +properties: > > + compatible: > > + const: himax,hx83102j > > + > > + reg: > > + maxItems: 1 > > + > > + interrupts: > > + maxItems: 1 > > + > > + reset-gpios: > > + maxItems: 1 > > + > > + vccd-supply: > > + description: A phandle for the regualtor supplying IO power. > > nit: regulator > > > + > > + vsn-supply: > > + description: Negative supply regulator. > > + > > + vsp-supply: > > + description: Positive supply regulator. > > Cool, thanks for adding these. > > > + > > + ddreset-gpios: > > + description: A phandle of gpio for display reset controlled by the LCD driver. > > + This is the master reset, if this reset is triggered, the TP reset will > > + also be triggered. > > + > > + spi-cpha: true > > + > > + spi-cpol: true > > + > > + spi-max-frequency: true > > + > > + panel: true > > + > > + himax,firmware-name: > > firmware-name is a standard property, you don't need to vendor prefix it. > > > + $ref: /schemas/types.yaml#/definitions/string > > + description: > > + Specify the file name for firmware loading. > > + > > + himax,pid: > > + $ref: /schemas/types.yaml#/definitions/uint32 > > + description: > > + PID for HID device, used to validate firmware. > > Why do you need this _and_ firmware-name? You should be able to trust > the firmware that the dt has told you to use, no? > > Cheers, > Conor. OK, I should trust the dt document and fix these issues in next patch 1. fix "regulator" spelling 2. himax,firmware-name ->firmware-name 3. remove himax,pid Thanks Allen > > > + > > +required: > > + - compatible > > + - reg > > + - interrupts > > + - reset-gpios > > + - panel > > + - vccd-supply > > + - vsn-supply > > + - vsp-supply > > + - ddreset-gpios > > + > > +additionalProperties: false > > + > > +examples: > > + - | > > + #include <dt-bindings/gpio/gpio.h> > > + #include <dt-bindings/interrupt-controller/irq.h> > > + spi { > > + #address-cells = <1>; > > + #size-cells = <0>; > > + ap_ts: touchscreen@0 { > > + compatible = "himax,hx83102j"; > > + reg = <0>; > > + pinctrl-names = "default"; > > + pinctrl-0 = <&touch_int0 &touch_reset>; > > + reset-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>; > > + spi-cpha; > > + spi-cpol; > > + interrupt-parent = <&gpio1>; > > + interrupts = <7 IRQ_TYPE_LEVEL_LOW>; > > + panel = <&panel>; > > + vccd-supply = <®ulator>; > > + vsn-supply = <®ulator>; > > + vsp-supply = <®ulator>; > > + ddreset-gpios = <&gpio1>; > > + }; > > + }; > > diff --git a/MAINTAINERS b/MAINTAINERS > > index 43b39956694a..aa51c60fd66d 100644 > > --- a/MAINTAINERS > > +++ b/MAINTAINERS > > @@ -9669,6 +9669,12 @@ L: linux-kernel@vger.kernel.org > > S: Maintained > > F: drivers/misc/hisi_hikey_usb.c > > > > +HIMAX HID HX83102J TOUCHSCREEN > > +M: Allen Lin <allencl_lin@hotmail.com> > > +L: linux-input@vger.kernel.org > > +S: Maintained > > +F: Documentation/devicetree/bindings/input/touchscreen/himax,hx83102j.yaml > > + > > HIMAX HX83112B TOUCHSCREEN SUPPORT > > M: Job Noorman <job@noorman.info> > > L: linux-input@vger.kernel.org > > -- > > 2.34.1 > >
diff --git a/Documentation/devicetree/bindings/input/touchscreen/himax,hx83102j.yaml b/Documentation/devicetree/bindings/input/touchscreen/himax,hx83102j.yaml new file mode 100644 index 000000000000..fe79129f704a --- /dev/null +++ b/Documentation/devicetree/bindings/input/touchscreen/himax,hx83102j.yaml @@ -0,0 +1,100 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/input/touchscreen/himax,hx83102j.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Himax hx83102j touchscreen + +maintainers: + - Allen Lin <allencl_lin@hotmail.com> + +description: + This Himax hx83102j touchscreen uses the spi protocol. + +allOf: + - $ref: /schemas/input/touchscreen/touchscreen.yaml# + - $ref: /schemas/spi/spi-peripheral-props.yaml# + +properties: + compatible: + const: himax,hx83102j + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + reset-gpios: + maxItems: 1 + + vccd-supply: + description: A phandle for the regualtor supplying IO power. + + vsn-supply: + description: Negative supply regulator. + + vsp-supply: + description: Positive supply regulator. + + ddreset-gpios: + description: A phandle of gpio for display reset controlled by the LCD driver. + This is the master reset, if this reset is triggered, the TP reset will + also be triggered. + + spi-cpha: true + + spi-cpol: true + + spi-max-frequency: true + + panel: true + + himax,firmware-name: + $ref: /schemas/types.yaml#/definitions/string + description: + Specify the file name for firmware loading. + + himax,pid: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + PID for HID device, used to validate firmware. + +required: + - compatible + - reg + - interrupts + - reset-gpios + - panel + - vccd-supply + - vsn-supply + - vsp-supply + - ddreset-gpios + +additionalProperties: false + +examples: + - | + #include <dt-bindings/gpio/gpio.h> + #include <dt-bindings/interrupt-controller/irq.h> + spi { + #address-cells = <1>; + #size-cells = <0>; + ap_ts: touchscreen@0 { + compatible = "himax,hx83102j"; + reg = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&touch_int0 &touch_reset>; + reset-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>; + spi-cpha; + spi-cpol; + interrupt-parent = <&gpio1>; + interrupts = <7 IRQ_TYPE_LEVEL_LOW>; + panel = <&panel>; + vccd-supply = <®ulator>; + vsn-supply = <®ulator>; + vsp-supply = <®ulator>; + ddreset-gpios = <&gpio1>; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index 43b39956694a..aa51c60fd66d 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -9669,6 +9669,12 @@ L: linux-kernel@vger.kernel.org S: Maintained F: drivers/misc/hisi_hikey_usb.c +HIMAX HID HX83102J TOUCHSCREEN +M: Allen Lin <allencl_lin@hotmail.com> +L: linux-input@vger.kernel.org +S: Maintained +F: Documentation/devicetree/bindings/input/touchscreen/himax,hx83102j.yaml + HIMAX HX83112B TOUCHSCREEN SUPPORT M: Job Noorman <job@noorman.info> L: linux-input@vger.kernel.org
Add the HX83102j touchscreen device tree bindings documents. HX83102j is a Himax TDDI touchscreen controller. It's power sequence should be bound with a lcm driver, thus it needs to be a panel follower. Others are the same as normal SPI touchscreen controller. Signed-off-by: Allen_Lin <allencl_lin@hotmail.com> --- .../input/touchscreen/himax,hx83102j.yaml | 100 ++++++++++++++++++ MAINTAINERS | 6 ++ 2 files changed, 106 insertions(+) create mode 100644 Documentation/devicetree/bindings/input/touchscreen/himax,hx83102j.yaml