Expose the invert and swap touch parameters on 2.8" and 3.5" resistive touchscreens. Add
the DRM parameter to the PiTFT 2.2" and 2.8" Capacitive overlay in the same
way it is on the resistive overlays. Change the DRM driver to `adafruit,yx240qv29`
because the rotations are consistent with the FBTFT Driver. Fix the override size parameters
on the 2.8" capacitive PiTFT.
Signed-off-by: Melissa LeBlanc-Williams <melissa@adafruit.com>
debug Debug output level {0-7}
+ drm Force the use of the mi0283qt DRM driver (by
+ default the ili9340 framebuffer driver will
+ be used in preference if available)
+
Name: pitft28-capacitive
Info: Adafruit PiTFT 2.8" capacitive touch screen
debug Debug output level {0-7}
+ drm Force the use of the mi0283qt DRM driver (by
+ default the ili9340 framebuffer driver will
+ be used in preference if available)
+
touch-sizex Touchscreen size x (default 240)
touch-sizey Touchscreen size y (default 320)
default the ili9340 framebuffer driver will
be used in preference if available)
+ touch-invx Touchscreen inverted x axis
+
+ touch-invy Touchscreen inverted y axis
+
+ touch-swapxy Touchscreen swapped x y axis
+
Name: pitft35-resistive
Info: Adafruit PiTFT 3.5" resistive touch screen
default the fb_hx8357d framebuffer driver will
be used in preference if available)
+ touch-invx Touchscreen inverted x axis
+
+ touch-invy Touchscreen inverted y axis
+
+ touch-swapxy Touchscreen swapped x y axis
+
Name: pps-gpio
Info: Configures the pps-gpio (pulse-per-second time signal via GPIO).
/plugin/;
/ {
- compatible = "brcm,bcm2835";
+ compatible = "brcm,bcm2835";
- fragment@0 {
- target = <&spidev0>;
- __overlay__ {
- status = "disabled";
- };
+ fragment@0 {
+ target = <&spidev0>;
+ __overlay__ {
+ status = "disabled";
+ };
};
- fragment@1 {
- target = <&spidev1>;
- __overlay__ {
- status = "disabled";
- };
- };
+ fragment@1 {
+ target = <&spidev1>;
+ __overlay__ {
+ status = "disabled";
+ };
+ };
- fragment@2 {
- target = <&gpio>;
- __overlay__ {
- pitft_pins: pitft_pins {
- brcm,pins = <25>;
- brcm,function = <1>; /* out */
- brcm,pull = <0>; /* none */
- };
- };
- };
+ fragment@2 {
+ target = <&gpio>;
+ __overlay__ {
+ pitft_pins: pitft_pins {
+ brcm,pins = <25>;
+ brcm,function = <1>; /* out */
+ brcm,pull = <0>; /* none */
+ };
+ };
+ };
- fragment@3 {
- target = <&spi0>;
- __overlay__ {
- /* needed to avoid dtc warning */
- #address-cells = <1>;
- #size-cells = <0>;
- status = "okay";
+ fragment@3 {
+ target = <&spi0>;
+ __overlay__ {
+ /* needed to avoid dtc warning */
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
- pitft: pitft@0{
- compatible = "ilitek,ili9340";
- reg = <0>;
- pinctrl-names = "default";
- pinctrl-0 = <&pitft_pins>;
+ pitft: pitft@0{
+ compatible = "ilitek,ili9340";
+ reg = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pitft_pins>;
- spi-max-frequency = <32000000>;
- rotate = <90>;
- fps = <25>;
- bgr;
- buswidth = <8>;
- dc-gpios = <&gpio 25 0>;
- debug = <0>;
- };
+ spi-max-frequency = <32000000>;
+ rotate = <90>;
+ fps = <25>;
+ bgr;
+ buswidth = <8>;
+ dc-gpios = <&gpio 25 0>;
+ debug = <0>;
+ };
- };
- };
+ };
+ };
- __overrides__ {
- speed = <&pitft>,"spi-max-frequency:0";
- rotate = <&pitft>,"rotate:0";
- fps = <&pitft>,"fps:0";
- debug = <&pitft>,"debug:0";
- };
+ __overrides__ {
+ speed = <&pitft>,"spi-max-frequency:0";
+ rotate = <&pitft>,"rotate:0", /* fbtft */
+ <&pitft>,"rotation:0"; /* drm */
+ fps = <&pitft>,"fps:0";
+ debug = <&pitft>,"debug:0";
+ drm = <&pitft>,"compatible=adafruit,yx240qv29";
+ };
};
/plugin/;
/ {
- compatible = "brcm,bcm2835";
+ compatible = "brcm,bcm2835";
- fragment@0 {
- target = <&spi0>;
- __overlay__ {
- status = "okay";
- };
- };
+ fragment@0 {
+ target = <&spi0>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
fragment@1 {
target = <&spidev0>;
};
};
- fragment@2 {
- target = <&gpio>;
- __overlay__ {
- pitft_pins: pitft_pins {
- brcm,pins = <24 25>;
- brcm,function = <0 1>; /* in out */
- brcm,pull = <2 0>; /* pullup none */
- };
- };
- };
+ fragment@2 {
+ target = <&gpio>;
+ __overlay__ {
+ pitft_pins: pitft_pins {
+ brcm,pins = <24 25>;
+ brcm,function = <0 1>; /* in out */
+ brcm,pull = <2 0>; /* pullup none */
+ };
+ };
+ };
- fragment@3 {
- target = <&spi0>;
- __overlay__ {
- /* needed to avoid dtc warning */
- #address-cells = <1>;
- #size-cells = <0>;
+ fragment@3 {
+ target = <&spi0>;
+ __overlay__ {
+ /* needed to avoid dtc warning */
+ #address-cells = <1>;
+ #size-cells = <0>;
- pitft: pitft@0{
- compatible = "ilitek,ili9340";
- reg = <0>;
- pinctrl-names = "default";
- pinctrl-0 = <&pitft_pins>;
+ pitft: pitft@0{
+ compatible = "ilitek,ili9340";
+ reg = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pitft_pins>;
- spi-max-frequency = <32000000>;
- rotate = <90>;
- fps = <25>;
- bgr;
- buswidth = <8>;
- dc-gpios = <&gpio 25 0>;
- debug = <0>;
- };
- };
- };
+ spi-max-frequency = <32000000>;
+ rotate = <90>;
+ fps = <25>;
+ bgr;
+ buswidth = <8>;
+ dc-gpios = <&gpio 25 0>;
+ debug = <0>;
+ };
+ };
+ };
- fragment@4 {
- target = <&i2c1>;
- __overlay__ {
- /* needed to avoid dtc warning */
- #address-cells = <1>;
- #size-cells = <0>;
+ fragment@4 {
+ target = <&i2c1>;
+ __overlay__ {
+ /* needed to avoid dtc warning */
+ #address-cells = <1>;
+ #size-cells = <0>;
- ft6236: ft6236@38 {
- compatible = "focaltech,ft6236";
- reg = <0x38>;
+ ft6236: ft6236@38 {
+ compatible = "focaltech,ft6236";
+ reg = <0x38>;
- interrupt-parent = <&gpio>;
- interrupts = <24 2>;
- touchscreen-size-x = <240>;
- touchscreen-size-y = <320>;
- };
- };
- };
+ interrupt-parent = <&gpio>;
+ interrupts = <24 2>;
+ touchscreen-size-x = <240>;
+ touchscreen-size-y = <320>;
+ };
+ };
+ };
- __overrides__ {
- speed = <&pitft>,"spi-max-frequency:0";
- rotate = <&pitft>,"rotate:0";
- fps = <&pitft>,"fps:0";
- debug = <&pitft>,"debug:0";
- touch-sizex = <&ft6236>,"touchscreen-size-x?";
- touch-sizey = <&ft6236>,"touchscreen-size-y?";
- touch-invx = <&ft6236>,"touchscreen-inverted-x?";
- touch-invy = <&ft6236>,"touchscreen-inverted-y?";
- touch-swapxy = <&ft6236>,"touchscreen-swapped-x-y?";
- };
+ __overrides__ {
+ speed = <&pitft>,"spi-max-frequency:0";
+ rotate = <&pitft>,"rotate:0", /* fbtft */
+ <&pitft>,"rotation:0"; /* drm */
+ fps = <&pitft>,"fps:0";
+ debug = <&pitft>,"debug:0";
+ drm = <&pitft>,"compatible=adafruit,yx240qv29";
+ touch-sizex = <&ft6236>,"touchscreen-size-x:0";
+ touch-sizey = <&ft6236>,"touchscreen-size-y:0";
+ touch-invx = <&ft6236>,"touchscreen-inverted-x?";
+ touch-invy = <&ft6236>,"touchscreen-inverted-y?";
+ touch-swapxy = <&ft6236>,"touchscreen-swapped-x-y?";
+ };
};
#size-cells = <0>;
pitft: pitft@0{
- compatible = "ilitek,ili9340", "multi-inno,mi0283qt";
+ compatible = "ilitek,ili9340";
reg = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pitft_pins>;
};
pitft_ts@1 {
+ /* needed to avoid dtc warning */
+ #address-cells = <1>;
+ #interrupt-cells = <1>;
compatible = "st,stmpe610";
reg = <1>;
interrupt-parent = <&gpio>;
interrupt-controller;
- stmpe_touchscreen {
+ stmpe_touchscreen: stmpe_touchscreen {
compatible = "st,stmpe-ts";
st,sample-time = <4>;
st,mod-12b = <1>;
<&pitft>,"rotation:0"; /* drm */
fps = <&pitft>,"fps:0";
debug = <&pitft>,"debug:0";
- drm = <&pitft>,"compatible=multi-inno,mi0283qt";
+ drm = <&pitft>,"compatible=adafruit,yx240qv29";
+ touch-invx = <&stmpe_touchscreen>,"touchscreen-inverted-x?";
+ touch-invy = <&stmpe_touchscreen>,"touchscreen-inverted-y?";
+ touch-swapxy = <&stmpe_touchscreen>,"touchscreen-swapped-x-y?";
};
};
#size-cells = <0>;
pitft: pitft@0{
- compatible = "himax,hx8357d", "adafruit,yx350hv15";
+ compatible = "himax,hx8357d";
reg = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pitft_pins>;
};
pitft_ts@1 {
+ /* needed to avoid dtc warning */
+ #address-cells = <1>;
+ #interrupt-cells = <1>;
compatible = "st,stmpe610";
reg = <1>;
interrupt-parent = <&gpio>;
interrupt-controller;
- stmpe_touchscreen {
+ stmpe_touchscreen: stmpe_touchscreen {
compatible = "st,stmpe-ts";
st,sample-time = <4>;
st,mod-12b = <1>;
debug = <&pitft>,"debug:0";
drm = <&pitft>,"compatible=adafruit,yx350hv15",
<&pitft>,"backlight:0=",<&backlight>;
+ touch-invx = <&stmpe_touchscreen>,"touchscreen-inverted-x?";
+ touch-invy = <&stmpe_touchscreen>,"touchscreen-inverted-y?";
+ touch-swapxy = <&stmpe_touchscreen>,"touchscreen-swapped-x-y?";
};
};