SSDFB(4)

NAME
ssdfb - OLED/PLED framebuffer device driver

SYNOPSIS
options FONT_SPLEEN5x8
ssdfb* at iic? addr ?
ssdfb* at iic? addr 0x3c
ssdfb* at iic? addr 0x3d flags 0x102
ssdfb* at spi? slave ? flags 0x105
wsdisplay* at ssdfb?

DESCRIPTION
The ssdfb driver provides wsdisplay(4) support for OLED/PLED framebuffer modules based on one of the following controller chips:

•   Solomon Systech Ltd SSD1306

•   Sino Wealth Electronic Ltd SH1106

•   Solomon Systech Ltd SSD1322

•   Solomon Systech Ltd SSD1353

The following products (controller + panel assemblies) are supported:

•   0x01: Generic SSD1306 modules using default settings

•   0x02: Generic SH1106 modules using default settings

•   0x03: Adafruit Industries, LLC product 931 (128x32)

•   0x04: Adafruit Industries, LLC product 938 (128x64)

•   0x05: Generic SSD1322 modules using default settings

•   0x06: Generic SSD1353 modules using default settings

•   0x07: Display Elektronik GmbH DEP 160128A(1)-RGB

The flags value can contain one or more of the following, bitwise OR'ed:

•   0x0??: Exactly one product id from the above list

•   0x100: indicates that the display is mounted upside down and flips the screen

•   0x200: enable inverse video

•   0x400: forcibly attach as console

On most displays, the contrast setting can be adjusted with the wsconsctl(8) program.

EXAMPLES
To attach an SSD1322 display using the 4-wire spi(4) interface on an Allwinner A20 ARM single board computer, the following Device Tree overlay can be used:

    &spi0 {
    	ssdfb@0 {
    		compatible = "solomon,ssd1322";
    		reg = <0x00>;
    		dc-gpio = <0x10 0x07 0x02 0x00>;
    		status = "okay";
    	};
    };

To attach an SSD1306 display using the iic(4) interface on the same board, use:

    &i2c2 {
    	ssdfb@3c {
    		compatible = "solomon,ssd1306fb-i2c";
    		reg = <0x3c>;
    		status = "okay";
    	};
    };

SEE ALSO
iic(4), wsdisplay(4)

HISTORY
An ssdfb driver first appeared in OpenBSD 6.4 and later in NetBSD 9.0.

AUTHORS
-nosplit The ssdfb driver was written by Tobias Nygren <tnn@NetBSD.org>.

It was inspired by (and shares its name with) the OpenBSD driver written by Patrick Wildt <patrick@blueri.se> but does not share any code.