mirror of
				https://github.com/Ysurac/openmptcprouter.git
				synced 2025-03-09 15:40:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			114 lines
		
	
	
	
		
			4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			114 lines
		
	
	
	
		
			4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From c28a2eea0d35f0d9db2dbedf3a98f68ab1260437 Mon Sep 17 00:00:00 2001
 | |
| From: Phil Elwell <phil@raspberrypi.org>
 | |
| Date: Mon, 21 Jan 2019 21:17:27 +0000
 | |
| Subject: [PATCH 314/432] overlays: Add ssd1306 overlay for OLED display
 | |
| 
 | |
| See: https://github.com/raspberrypi/firmware/issues/1098
 | |
| 
 | |
| Signed-off-by: mincepi <mincepi@gmail.com>
 | |
| ---
 | |
|  arch/arm/boot/dts/overlays/Makefile           |  1 +
 | |
|  arch/arm/boot/dts/overlays/README             | 31 ++++++++++++++++
 | |
|  .../arm/boot/dts/overlays/ssd1306-overlay.dts | 36 +++++++++++++++++++
 | |
|  3 files changed, 68 insertions(+)
 | |
|  create mode 100644 arch/arm/boot/dts/overlays/ssd1306-overlay.dts
 | |
| 
 | |
| diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile
 | |
| index 38046efd5fdd..5c07ff08e141 100644
 | |
| --- a/arch/arm/boot/dts/overlays/Makefile
 | |
| +++ b/arch/arm/boot/dts/overlays/Makefile
 | |
| @@ -135,6 +135,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
 | |
|  	spi2-1cs.dtbo \
 | |
|  	spi2-2cs.dtbo \
 | |
|  	spi2-3cs.dtbo \
 | |
| +	ssd1306.dtbo \
 | |
|  	superaudioboard.dtbo \
 | |
|  	sx150x.dtbo \
 | |
|  	tc358743.dtbo \
 | |
| diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README
 | |
| index ed582bc37375..707ea49cb6b3 100644
 | |
| --- a/arch/arm/boot/dts/overlays/README
 | |
| +++ b/arch/arm/boot/dts/overlays/README
 | |
| @@ -1950,6 +1950,37 @@ Params: cs0_pin                 GPIO pin for CS0 (default 43 - BCM SPI2_CE0).
 | |
|                                  is 'okay' or enabled).
 | |
|  
 | |
|  
 | |
| +Name:   ssd1306
 | |
| +Info:   Overlay for activation of SSD1306 over I2C OLED display framebuffer.
 | |
| +Load:   dtoverlay=ssd1306,<param>=<val>
 | |
| +Params: address                 Location in display memory of first character.
 | |
| +                                (default=0)
 | |
| +        width                   Width of display. (default=128)
 | |
| +        height                  Height of display. (default=64)
 | |
| +        offset                  virtual channel a. (default=0)
 | |
| +        normal                  Has no effect on displays tested. (default=not
 | |
| +                                set)
 | |
| +        sequential              Set this if every other scan line is missing.
 | |
| +                                (default=not set)
 | |
| +        remapped                Set this if display is garbled. (default=not
 | |
| +                                set)
 | |
| +        inverted                Set this if display is inverted and mirrored.
 | |
| +                                (default=not set)
 | |
| +
 | |
| +        Examples:
 | |
| +        Typical usage for 128x64 display: dtoverlay=ssd1306,inverted
 | |
| +
 | |
| +        Typical usage for 128x32 display: dtoverlay=ssd1306,inverted,sequential
 | |
| +
 | |
| +        i2c_baudrate=400000 will speed up the display.
 | |
| +
 | |
| +        i2c_baudrate=1000000 seems to work even though it's not officially
 | |
| +        supported by the hardware, and is faster still.
 | |
| +
 | |
| +        For more information refer to the device datasheet at:
 | |
| +        https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf
 | |
| +
 | |
| +
 | |
|  Name:   superaudioboard
 | |
|  Info:   Configures the SuperAudioBoard sound card
 | |
|  Load:   dtoverlay=superaudioboard,<param>=<val>
 | |
| diff --git a/arch/arm/boot/dts/overlays/ssd1306-overlay.dts b/arch/arm/boot/dts/overlays/ssd1306-overlay.dts
 | |
| new file mode 100644
 | |
| index 000000000000..2cf677d59a7f
 | |
| --- /dev/null
 | |
| +++ b/arch/arm/boot/dts/overlays/ssd1306-overlay.dts
 | |
| @@ -0,0 +1,36 @@
 | |
| +// Overlay for SSD1306 128x64 and 128x32 OLED displays
 | |
| +/dts-v1/;
 | |
| +/plugin/;
 | |
| +
 | |
| +/ {
 | |
| +    compatible = "brcm,bcm2718";
 | |
| +
 | |
| +    fragment@0 {
 | |
| +	target = <&i2c1>;
 | |
| +	__overlay__ {
 | |
| +	    status = "okay";
 | |
| +
 | |
| +	    #address-cells = <1>;
 | |
| +	    #size-cells = <0>;
 | |
| +
 | |
| +	    ssd1306: oled@3c{
 | |
| +		compatible = "solomon,ssd1306fb-i2c";
 | |
| +		reg = <0x3c>;
 | |
| +		solomon,width = <128>;
 | |
| +		solomon,height = <64>;
 | |
| +		solomon,page-offset = <0>;
 | |
| +	    };
 | |
| +	};
 | |
| +    };
 | |
| +
 | |
| +    __overrides__ {
 | |
| +	address = <&ssd1306>,"reg:0";
 | |
| +	width = <&ssd1306>,"solomon,width:0";
 | |
| +	height = <&ssd1306>,"solomon,height:0";
 | |
| +	offset = <&ssd1306>,"solomon,page-offset:0";
 | |
| +	normal = <&ssd1306>,"solomon,segment-no-remap?";
 | |
| +	sequential = <&ssd1306>,"solomon,com-seq?";
 | |
| +	remapped = <&ssd1306>,"solomon,com-lrremap?";
 | |
| +	inverted = <&ssd1306>,"solomon,com-invdir?";
 | |
| +    };
 | |
| +};
 | |
| -- 
 | |
| 2.19.1
 | |
| 
 |