On 13.03.2023 17:32, Konrad Dybcio wrote: > From: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxx> > > Add required pins and RMI4 node to the common DT and remove it > from Akatsuki, as it uses a different touch. > > Since the panels are super high tech proprietary incell, they > need to be handled with very precise timings. As such the panel > driver sets up the power rails and GPIOs and the touchscreen > driver *has to* probe afterwards. > > Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxx> > Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> > --- [...] > &i2c5 { > - status = "okay"; > clock-frequency = <400000>; > + status = "okay"; > + > + touchscreen: touchscreen@2c { > + compatible = "syna,rmi4-i2c"; > + reg = <0x2c>; > + > + interrupt-parent = <&tlmm>; > + interrupts = <125 IRQ_TYPE_EDGE_FALLING>; interrupts-extended > + vdd-supply = <&vreg_l14a_1p8>; > + /* > + * This is a blatant abuse of OF, but the panel driver *needs* > + * to probe first, as the power/gpio switching needs to be precisely > + * timed in order for both the display and touch panel to function properly. > + */ > + incell-supply = <&panel>; > + > + syna,reset-delay-ms = <220>; > + syna,startup-delay-ms = <1000>; > + > + pinctrl-names = "default", "sleep"; > + pinctrl-0 = <&ts_default>; > + pinctrl-1 = <&ts_sleep>; swapped > > - /* Synaptics touchscreen @ 2c, 3c */ > + #address-cells = <1>; > + #size-cells = <0>; Konrad