mbox series

[RFC,00/10] Support simple-framebuffer on imx8m

Message ID 20241028102559.1451383-1-dario.binacchi@amarulasolutions.com (mailing list archive)
Headers show
Series Support simple-framebuffer on imx8m | expand

Message

Dario Binacchi Oct. 28, 2024, 10:25 a.m. UTC
This series is the Linux counterpart of what was sent to U-Boot [1]
for the support of the simple-framebuffer for the BSH SMM S2Pro board.

The need to avoid re-initializing the hardware (power domains,
controllers, bridges, display panels) that has already been initialized
and kept powered on by the bootloader has required updating more than
one YAML file, with the addition of boolean properties to inform the
driver that the corresponding hardware has been initialized and left
on by the bootloader. All these properties are added on the fly by the
bootloader to the various relevant nodes.

Support for the simple framebuffer for the dts of imx8mn-bsh-smm-s2/pro
board has been sent with a separate patch from this series [2].

[1] https://lore.kernel.org/all/20240913095622.72377-18-dario.binacchi@amarulasolutions.com/T/
[2] https://lore.kernel.org/imx/20241024102800.3481574-1-dario.binacchi@amarulasolutions.com/T/


Dario Binacchi (10):
  dt-bindings: soc: imx-blk-ctrl: add 'fsl,power-domains-boot-on'
    property
  pmdomain: imx8m-blk-ctrl: don't turn on a power domain already on
  dt-bindings: power: gpcv2: add 'fsl,boot-on' property
  pmdomain: imx: gpcv2: don't turn on a power domain already on
  dt-bindings: display: panel: add 'syna,boot-on' property
  drm/panel: synaptics-r63353: don't re-activate the panel if already
    setup
  dt-bindings: bridge: samsung-dsim: add 'samsung,boot-on' property
  drm: bridge: samsung-dsim: don't re-activate the bridge if already
    setup
  dt-bindings: lcdif: add 'fsl,boot-on' property
  drm/mxsfb: stop controller and drain FIFOs if already initialized

 .../display/bridge/samsung,mipi-dsim.yaml     |  5 ++
 .../bindings/display/fsl,lcdif.yaml           |  5 ++
 .../display/panel/synaptics,r63353.yaml       |  5 ++
 .../bindings/power/fsl,imx-gpcv2.yaml         |  6 +++
 .../soc/imx/fsl,imx8mn-disp-blk-ctrl.yaml     |  9 ++++
 drivers/gpu/drm/bridge/samsung-dsim.c         | 13 ++++-
 drivers/gpu/drm/mxsfb/mxsfb_drv.c             |  3 ++
 drivers/gpu/drm/mxsfb/mxsfb_drv.h             |  1 +
 drivers/gpu/drm/mxsfb/mxsfb_kms.c             | 14 ++++-
 .../gpu/drm/panel/panel-synaptics-r63353.c    | 10 +++-
 drivers/pmdomain/imx/gpcv2.c                  | 32 +++++++++++-
 drivers/pmdomain/imx/imx8m-blk-ctrl.c         | 51 ++++++++++++++++++-
 12 files changed, 148 insertions(+), 6 deletions(-)

Comments

Maxime Ripard Oct. 28, 2024, 10:49 a.m. UTC | #1
Hi,

On Mon, Oct 28, 2024 at 11:25:23AM +0100, Dario Binacchi wrote:
> This series is the Linux counterpart of what was sent to U-Boot [1]
> for the support of the simple-framebuffer for the BSH SMM S2Pro board.

I'm confused. simple-framebuffer is a mechanism for which the entire
point is that the kernel doesn't need the driver for.

Why do you need to have patches for bridges and panels for
simple-framebuffer? They won't be used.

> The need to avoid re-initializing the hardware (power domains,
> controllers, bridges, display panels) that has already been initialized
> and kept powered on by the bootloader has required updating more than
> one YAML file, with the addition of boolean properties to inform the
> driver that the corresponding hardware has been initialized and left
> on by the bootloader. All these properties are added on the fly by the
> bootloader to the various relevant nodes.

So it's not about simple-framebuffer at all, but rather that you don't
want to re-initialize the hardware that has already been setup?

If so, this isn't how you should do it, but rather:
https://lore.kernel.org/all/CAKMK7uHtqHy_oz4W7F+hmp9iqp7W5Ra8CxPvJ=9BwmvfU-O0gg@mail.gmail.com/

Maxime