zephyr/samples
Andreas Sandberg 5f781f4b11 drivers: ssd16xx: Use device-specific compatibles
The SSD16xx driver currently provides basic support for most chips in
the Solomon Systech SSD16xx range of e-paper drivers. We currently use
the SSD1608, SSD1673, SSD1675A, and SSD1681 in various boards
supported by Zephyr.

The main user-facing difference between the various SSD16xx chips is
the resolution they support (sources & gates), but there are other
differences as well. For example:

 * 8 or 16 bits used to represent x coordinates
 * 8 or 16 bits used to represent y coordinates
 * Differences in refresh configuration (SSD16XX_CMD_UPDATE_CTRL2)
 * Differences in LUT sizes

The driver currently assumes that the user specifies the number of
bits used to describe coordinates. However, as we add support for more
chips, more of the differences will become apparent and need
workaround.

Comparing data sheets from different chips in the SSD16xx range
suggests that there are (at least) two different generations
present. These differ in the size of the LUTs they expect and the way
they handle partial refresh. This impacts register layout where
SSD16XX_CMD_UPDATE_CTRL2 uses bit 3 selects "mode 2" whereas older
devices uses this for a mode referred to as "initial".

In order to add support for partial refresh in newer devices, we need
to be able to distinguish between the different generations of the
chip. It might be possible to add a DT property to indicate the
revision, but that seems like a bit of an anti-pattern and it would be
hard for users to specify the correct chip generation.

This change introduces chip-specific compatible strings instead of the
generic SSD16xx. There is unfortunately clear pattern that can be used
to distinguish different generations, so the full chip name must be
specified. A benefit of this is that we don't need to specify the
width of the fields describing coordinates in device trees.

Signed-off-by: Andreas Sandberg <andreas@sandberg.uk>
2023-05-11 14:40:50 -07:00
..
application_development samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
arch samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
basic samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
bluetooth samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
boards drivers: ssd16xx: Use device-specific compatibles 2023-05-11 14:40:50 -07:00
compression samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
cpp samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
drivers boards: arm: mimxrt1040_evk: enable ADC support 2023-05-11 10:35:40 -05:00
fuel_gauge samples, tests: Switch main return type from void to int 2023-04-14 07:49:41 +09:00
hello_world samples, tests: Switch main return type from void to int 2023-04-14 07:49:41 +09:00
kernel samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
modules samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
net samples: net: sockets: echo_server: Use conn_mgr ignore_iface 2023-05-11 12:15:44 +02:00
philosophers samples, tests, boards: Switch main return type from void to int 2023-04-14 07:49:41 +09:00
posix samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
sensor samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
shields samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
subsys net: conn_mgr: Reorganize files 2023-05-11 12:15:44 +02:00
synchronization samples, tests, boards: Switch main return type from void to int 2023-04-14 07:49:41 +09:00
tfm_integration samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
userspace samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
classic.rst
index.rst drivers: Added fuel gauge max17048 2023-03-22 14:51:33 -04:00
sample_definition_and_criteria.rst Bluetooth: Remove point 6 of Samples Guidelines 2023-02-06 10:43:31 +01:00