aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/dts/overlays/media-center-overlay.dts
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/boot/dts/overlays/media-center-overlay.dts')
-rw-r--r--arch/arm/boot/dts/overlays/media-center-overlay.dts134
1 files changed, 134 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/overlays/media-center-overlay.dts b/arch/arm/boot/dts/overlays/media-center-overlay.dts
new file mode 100644
index 000000000000..0fcdcfa18eb3
--- /dev/null
+++ b/arch/arm/boot/dts/overlays/media-center-overlay.dts
@@ -0,0 +1,134 @@
+/*
+ * Device Tree overlay for Media Center HAT by Pi Supply
+ *
+ */
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "brcm,bcm2835";
+
+ fragment@0 {
+ target = <&spi0>;
+ __overlay__ {
+ status = "okay";
+
+ spidev@0{
+ status = "disabled";
+ };
+
+ spidev@1{
+ status = "disabled";
+ };
+ };
+ };
+
+ fragment@1 {
+ target = <&gpio>;
+ __overlay__ {
+ rpi_display_pins: rpi_display_pins {
+ brcm,pins = <12 23 24 25>;
+ brcm,function = <1 1 1 0>; /* out out out in */
+ brcm,pull = <0 0 0 2>; /* - - - up */
+ };
+ };
+ };
+
+ fragment@2 {
+ target = <&spi0>;
+ __overlay__ {
+ /* needed to avoid dtc warning */
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ rpidisplay: rpi-display@0{
+ compatible = "ilitek,ili9341";
+ reg = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&rpi_display_pins>;
+
+ spi-max-frequency = <32000000>;
+ rotate = <90>;
+ bgr;
+ fps = <30>;
+ buswidth = <8>;
+ reset-gpios = <&gpio 23 0>;
+ dc-gpios = <&gpio 24 0>;
+ led-gpios = <&gpio 12 1>;
+ debug = <0>;
+ };
+
+ rpidisplay_ts: rpi-display-ts@1 {
+ compatible = "ti,ads7846";
+ reg = <1>;
+
+ spi-max-frequency = <2000000>;
+ interrupts = <25 2>; /* high-to-low edge triggered */
+ interrupt-parent = <&gpio>;
+ pendown-gpio = <&gpio 25 0>;
+ ti,x-plate-ohms = /bits/ 16 <60>;
+ ti,pressure-max = /bits/ 16 <255>;
+ };
+ };
+ };
+
+ fragment@3 {
+ target-path = "/";
+ __overlay__ {
+ lirc_rpi: lirc_rpi {
+ compatible = "rpi,lirc-rpi";
+ pinctrl-names = "default";
+ pinctrl-0 = <&lirc_pins>;
+ status = "okay";
+
+ // Override autodetection of IR receiver circuit
+ // (0 = active high, 1 = active low, -1 = no override )
+ rpi,sense = <0xffffffff>;
+
+ // Software carrier
+ // (0 = off, 1 = on)
+ rpi,softcarrier = <1>;
+
+ // Invert output
+ // (0 = off, 1 = on)
+ rpi,invert = <0>;
+
+ // Enable debugging messages
+ // (0 = off, 1 = on)
+ rpi,debug = <0>;
+ };
+ };
+ };
+
+ fragment@4 {
+ target = <&gpio>;
+ __overlay__ {
+ lirc_pins: lirc_pins {
+ brcm,pins = <6 5>;
+ brcm,function = <1 0>; // out in
+ brcm,pull = <0 1>; // off down
+ };
+ };
+ };
+
+ __overrides__ {
+ speed = <&rpidisplay>,"spi-max-frequency:0";
+ rotate = <&rpidisplay>,"rotate:0";
+ fps = <&rpidisplay>,"fps:0";
+ debug = <&rpidisplay>,"debug:0",
+ <&lirc_rpi>,"rpi,debug:0";
+ xohms = <&rpidisplay_ts>,"ti,x-plate-ohms;0";
+ swapxy = <&rpidisplay_ts>,"ti,swap-xy?";
+ backlight = <&rpidisplay>,"led-gpios:4",
+ <&rpi_display_pins>,"brcm,pins:0";
+
+ gpio_out_pin = <&lirc_pins>,"brcm,pins:0";
+ gpio_in_pin = <&lirc_pins>,"brcm,pins:4";
+ gpio_in_pull = <&lirc_pins>,"brcm,pull:4";
+
+ sense = <&lirc_rpi>,"rpi,sense:0";
+ softcarrier = <&lirc_rpi>,"rpi,softcarrier:0";
+ invert = <&lirc_rpi>,"rpi,invert:0";
+ };
+};