SSDFB(4) | Device Drivers Manual | 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

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.

August 5, 2021 | NetBSD 11.0