On 1/14/22 09:16, Jagan Teki wrote:
Hi
[...]
Fill in the actual register names and bits from [1] and [2] and add the
entire register layout, since the documentation for this chip is hard to
come by.
[1] https://github.com/rockchip-linux/kernel/blob/develop-4.19/drivers/gpu/drm/bridge/icn6211.c
[2] https://github.com/tdjastrzebski/ICN6211-Configurator
[...]
/* icn6211 specific sequence */
- ICN6211_DSI(icn, 0xb6, 0x20);
- ICN6211_DSI(icn, 0x51, 0x20);
- ICN6211_DSI(icn, 0x09, 0x10);
+ ICN6211_DSI(icn, MIPI_FORCE_0, 0x20);
+ ICN6211_DSI(icn, PLL_CTRL(1), 0x20);
+ ICN6211_DSI(icn, CONFIG_FINISH, 0x10);
All these fixes and few of features support are valid only for
I2C-based ICN6211.
No, they are valid for both DSI command mode configuration as well as
I2C configuration. They are also tested in both configurations, see patch
[PATCH 12/14] drm: bridge: icn6211: Add I2C configuration support
The register layout is exactly the same for DSI command mode and I2C
configuration mode too.
If possible please confirm with the vendor.
See the commit message, the datasheet is difficult to come by, however
there are FOSS driver(s) and tooling source which confirms the above.
The
driver I've written based on non-I2C-based ICN6211 chip, which is
present in BananaPi Panel.
Chip part: ICN6211 A59058 1634.
Not sure, may be we can have separated bridge driver for I2C-based
ICN6211 that I don't have in my design for testing.
There is only one ICN6211 chip variant, you can configure it either via
DSI command mode or I2C mode, both were tested with this series which
adds support for the later mode.
[...]