altos: Add support for backlight control in ao_lco_bits
[fw/altos] / src / drivers / ao_st7565.h
index e1340f8ac819d7d47689d816df24ee7dd2423169..b5627f3be24cf8340c949ddf19fc8f78b56eb54f 100644 (file)
 
 #include <ao_draw.h>
 
+/*
+ * Wiring the NewHaven NHD-C12864LZ-FSW-FBW-3V3 display
+ *
+ * PIN Symbol  Connection
+ *  1  /CS1    Chip select. Active low.
+ *  2  /RES    Reset. Active low.
+ *  3  A0      Register select. 0: instruction, 1: data
+ *  4  /WR     NC
+ *  5  /RD     NC
+ *  6  DB0     NC
+ *  7  DB1     NC
+ *  8  DB2     NC
+ *  8  DB3     NC
+ *  10 DB4     NC
+ *  11 DB5     NC
+ *  12 DB6     SPI clock. Mode 3 (idle high, rising edge)
+ *  13 DB7     SPI data.
+ *  14 Vdd     +3.3V
+ *  15 Vss     Ground
+ *  16 Vout    1uF to ground
+ *  17  CAP3+  1uF to CAP1-
+ *  18 CAP1-   1uF to CAP3+ and CAP1+
+ *  19 CAP1+   1uF to CAP1-
+ *  20 CAP2+   1uF to CAP2-
+ *  21 CAP2-   1uF to CAP2+
+ *  22 V4      1uF to ground
+ *  23 V3      1uF to ground
+ *  24 V2      1uF to ground
+ *  25 V1      1uF to ground
+ *  26 V0      1uF to ground
+ *  27 C86     MPU select. Ground
+ *  28 PS      Parallel/serial select. Ground
+ */
+
 #define ST7565_DISPLAY_OFF                     0xae
 #define ST7565_DISPLAY_ON                      0xaf
 #define ST7565_DISPLAY_START_LINE_SET(line)    (0x40 | (line))
 #define ST7565_BOOSTER_RATIO_SET               0xf8
 #define ST7565_NOP                             0xe3
 
-#define AO_ST7565_SPI_SPEED                    ao_spi_speed(20000000)
+/* Max 50ns SPI clock time */
+#define AO_ST7565_SPI_SPEED                    ao_spi_speed(AO_ST7565_SPI_BUS, 20000000)
 
 void
 ao_st7565_update(struct ao_bitmap *bitmap);
 
+void
+ao_st7565_set_brightness(uint8_t val);
+
+uint8_t
+ao_st7565_get_brightness(void);
+
 void
 ao_st7565_init(void);