Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) * Solomon SSD1307 Framebuffer Driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4)   - compatible: Should be "solomon,<chip>fb-<bus>". The only supported bus for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5)     now is i2c, and the supported chips are ssd1305, ssd1306, ssd1307 and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6)     ssd1309.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7)   - reg: Should contain address of the controller on the I2C bus. Most likely
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8)          0x3c or 0x3d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9)   - pwm: Should contain the pwm to use according to the OF device tree PWM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)          specification [0]. Only required for the ssd1307.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)   - solomon,height: Height in pixel of the screen driven by the controller
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)   - solomon,width: Width in pixel of the screen driven by the controller
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)   - solomon,page-offset: Offset of pages (band of 8 pixels) that the screen is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)     mapped to.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) Optional properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)   - reset-gpios: The GPIO used to reset the OLED display, if available. See
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)                  Documentation/devicetree/bindings/gpio/gpio.txt for details.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)   - vbat-supply: The supply for VBAT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)   - solomon,segment-no-remap: Display needs normal (non-inverted) data column
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)                               to segment mapping
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)   - solomon,col-offset: Offset of columns (COL/SEG) that the screen is mapped to.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)   - solomon,com-seq: Display uses sequential COM pin configuration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)   - solomon,com-lrremap: Display uses left-right COM pin remap
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)   - solomon,com-invdir: Display uses inverted COM pin scan direction
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)   - solomon,com-offset: Number of the COM pin wired to the first display line
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)   - solomon,prechargep1: Length of deselect period (phase 1) in clock cycles.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)   - solomon,prechargep2: Length of precharge period (phase 2) in clock cycles.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)                          This needs to be the higher, the higher the capacitance
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)                          of the OLED's pixels is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)   - solomon,dclk-div: Clock divisor 1 to 16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)   - solomon,dclk-frq: Clock frequency 0 to 15, higher value means higher
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)                       frequency
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)   - solomon,lookup-table: 8 bit value array of current drive pulse widths for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)                           BANK0, and colors A, B, and C. Each value in range
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)                           of 31 to 63 for pulse widths of 32 to 64. Color D
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)                           is always width 64.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)   - solomon,area-color-enable: Display uses color mode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)   - solomon,low-power. Display runs in low power mode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) [0]: Documentation/devicetree/bindings/pwm/pwm.txt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) Examples:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) ssd1307: oled@3c {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)         compatible = "solomon,ssd1307fb-i2c";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)         reg = <0x3c>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47)         pwms = <&pwm 4 3000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)         reset-gpios = <&gpio2 7>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) ssd1306: oled@3c {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52)         compatible = "solomon,ssd1306fb-i2c";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)         reg = <0x3c>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54)         pwms = <&pwm 4 3000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)         reset-gpios = <&gpio2 7>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56)         solomon,com-lrremap;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57)         solomon,com-invdir;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58)         solomon,com-offset = <32>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59)         solomon,lookup-table = /bits/ 8 <0x3f 0x3f 0x3f 0x3f>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) };