diff options
| author | Mel <mel@rnrd.eu> | 2026-07-13 19:59:37 +0200 |
|---|---|---|
| committer | Mel <mel@rnrd.eu> | 2026-07-13 19:59:37 +0200 |
| commit | 398608948fa730883d234a636cb33f73f2da51cf (patch) | |
| tree | fbc18e5bdf1a60d5202b0efdccfa2bcf5d66d2f8 /dts/mhs35-overlay.dts | |
| parent | c3fa78667236095edaa367954644ba5136e65543 (diff) | |
| download | mhs35-drm-398608948fa730883d234a636cb33f73f2da51cf.tar.zst mhs35-drm-398608948fa730883d234a636cb33f73f2da51cf.zip | |
Add device trees for MHS3.5 SPI devices
Signed-off-by: Mel <mel@rnrd.eu>
Diffstat (limited to 'dts/mhs35-overlay.dts')
| -rw-r--r-- | dts/mhs35-overlay.dts | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/dts/mhs35-overlay.dts b/dts/mhs35-overlay.dts new file mode 100644 index 0000000..e30e596 --- /dev/null +++ b/dts/mhs35-overlay.dts @@ -0,0 +1,74 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * device tree overlay for a goodtft mhs-3.5 raspberry pi spi display. + * + * for touch, see `./mhs35-touch-overlay.dts`! + * + * Copyright (c) 2026 Mel G. <mel@rnrd.eu> + */ + +/dts-v1/; +/plugin/; + +/ { + compatible = "brcm,bcm2711"; + + fragment@0 { + target = <&spi0>; + + __overlay__ { + status = "okay"; + + spidev@0 { + status = "disabled"; + }; + }; + }; + + fragment@1 { + target = <&gpio>; + + __overlay__ { + mhs35_pins: mhs35_pins@0 { + brcm,pins = <25 24>; // reset, dc + brcm,function = <0 0>; + }; + }; + }; + + fragment@2 { + target = <&spi0>; + + __overlay__ { + #address-cells = <1>; + #size-cells = <0>; + + mhs35: mhs35@0 { + compatible = "goodtft,mhs35"; + reg = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&mhs35_pins>; + + // very conservative default that works pretty well, + // though is quite slow (you can see the screen update!) + // according to spec, should go upto 125mhz. + spi-max-frequency = <8000000>; + + // orientation relative to a raspberry pi 4: + // 0 = landscape, usb/ethernet ports on left + // 180 = landscape, ports on right + // 90 = portrait, ports on top + // 270 portrait, ports on bottom + rotation = <180>; + + reset-gpios = <&gpio 25 1>; + dc-gpios = <&gpio 24 0>; + }; + }; + }; + + __overrides__ { + speed = <&mhs35>,"spi-max-frequency:0"; + rotation = <&mhs35>,"rotation:0"; + }; +}; |
