* Sebastian Reichel sebastian.reichel@collabora.com [191118 15:03]:
On Mon, Nov 18, 2019 at 03:37:12PM +0100, H. Nikolaus Schaller wrote:
Am 18.11.2019 um 15:33 schrieb Sebastian Reichel sebastian.reichel@collabora.com: On Mon, Nov 18, 2019 at 03:05:07PM +0200, Tomi Valkeinen wrote:
On 17/11/2019 04:39, Sebastian Reichel wrote:
The standard binding for DSI requires, that the channel number of the panel is encoded in DT. This adds the channel number in all OMAP3-5 boards, in preparation for using common infrastructure.
Signed-off-by: Sebastian Reichel sebastian.reichel@collabora.com
.../devicetree/bindings/display/panel/panel-dsi-cm.txt | 4 +++- arch/arm/boot/dts/omap3-n950.dts | 3 ++- arch/arm/boot/dts/omap3.dtsi | 3 +++ arch/arm/boot/dts/omap4-droid4-xt894.dts | 3 ++- arch/arm/boot/dts/omap4-sdp.dts | 6 ++++-- arch/arm/boot/dts/omap4.dtsi | 6 ++++++ arch/arm/boot/dts/omap5.dtsi | 6 ++++++ 7 files changed, 26 insertions(+), 5 deletions(-)
Is this required only in the .txt, or also by the driver? This does break backward compatibility with the dtbs, and there's always someone who won't like it.
I add a compatible string for the Droid 4 panel in addition to the generic one, which is not really required and just a precaution in case we need some quirks in the future.
But I had to add the DSI channel to DT, which is required to follow the standard DSI bindings. We cannot use the generic infrastructure without this change. Technically it should have been there all the time, it is only working because it is currently hardcoded to 0 in the panel driver.
Is it possible to change it to default to channel <0> if reg is not specified?
Currently nodes without reg property are skipped by of_mipi_dsi_device_add() and of_mipi_dsi_device_add() fails if reg node is missing. Technically it should be possible to default to channel 0 there. That affects all platforms, though. Considering the small amount of boards affected, I think its better to just fix the DT. Also the fixed DT does not make problems with older kernels and can be backported.
You might be able to do a local fixup at driver probe time using of_add_property(). See for example pcs_quirk_missing_pinctrl_cells() I added earlier because of similar issues.
Regards,
Tony