[00/26] Support display (and even more) on the BSH SMM S2/PRO boards
mbox series

Message ID 20240913095622.72377-1-dario.binacchi@amarulasolutions.com
Headers show
Series
  • Support display (and even more) on the BSH SMM S2/PRO boards
Related show

Message

Dario Binacchi Sept. 13, 2024, 9:55 a.m. UTC
This series was created out of the need to supportsimple-framebuffer for
BSH boards SMM_S2 and SMM_S2PRO. To achieve this goal, it was necessary
to develop additional code and/or drivers for all the required components
(i. e. clock, power domain, video, etc.). This series has a Linux
counterpart that will also be submitted upstream as soon as possible.
Furthermore, given the overlap in topics with the recent series [1], we
are open to collaborate on the common parts to ensure proper development.

[1] https://lore.kernel.org/all/20240910101344.110633-1-miquel.raynal@bootlin.com/T/#mb7cd440abc6fcc0de205f577eb3225e1c1c76823


Dario Binacchi (6):
  boot: fdt_simplefb: add a debug message
  video: mxsfb: support simple frame-buffer
  video: bridge: samsung: support simple frame-buffer
  imx8mn_bsh_smm_s2/pro: support simple frame-buffer
  imx8mn_bsh_smm_s2/pro: enable simple frame-buffer
  imx8mn_bsh_smm_s2/pro: add splash screen with BSH logo

Michael Trimarchi (20):
  clk: Propagate clk_set_rate() if CLK_SET_PARENT_RATE present for gate
    and mux
  clk: imx8mn: Prevent clock critical path from disabling during
    reparent and set_rate
  clk: imx8mm: Prevent clock critical path from disabling during
    reparent and set_rate
  clk: clk-uclass: Implement CLK_OPS_PARENT_ENABLE
  clk: imx8mm: Mark IMX8MM_SYS_PLL2 and IMX8MM_SYS_PLL3 as enabled
  clk: imx8mn: Mark IMX8MN_SYS_PLL2 and IMX8MN_SYS_PLL3 as enabled
  clk: imx8mn: add video clocks support
  power: Add iMX8M block ctrl driver for dispmix
  video: Add video link framework
  video: bridge: Add check_timing interface
  video: dsi_host: add disable host interface
  video: Update mxsfb video drivers for iMX8MM/iMX8MN display
  video: Enable DM_UC_FLAG_SEQ_ALIAS for display and bridge
  phy: dphy: add support to calculate the timing based on hs_clk_rate
  phy: dphy: Correct lpx parameter and its derivatives(ta_{get,go,sure})
  phy: dphy: Correct clk_pre parameter
  lib: div64: sync with Linux
  video: bridge: Add Samsung DSIM bridge
  video: Add Synaptics R63353 panel driver
  imx8mn_bsh_smm_s2/pro: Enable display on reference design

 .../dts/imx8mn-bsh-smm-s2-u-boot-common.dtsi  |   23 +
 board/bsh/imx8mn_smm_s2/imx8mn_smm_s2.c       |   99 ++
 boot/fdt_simplefb.c                           |    2 +
 common/stdio.c                                |    4 +
 configs/imx8mn_bsh_smm_s2_defconfig           |   21 +
 configs/imx8mn_bsh_smm_s2pro_defconfig        |   21 +
 drivers/clk/clk-gate.c                        |    1 +
 drivers/clk/clk-mux.c                         |    2 +-
 drivers/clk/clk-uclass.c                      |   67 +-
 drivers/clk/clk.c                             |    9 +
 drivers/clk/imx/clk-imx8mm.c                  |   73 +-
 drivers/clk/imx/clk-imx8mn.c                  |  131 +-
 drivers/phy/meson-axg-mipi-dphy.c             |    2 +-
 drivers/phy/phy-core-mipi-dphy.c              |   36 +-
 drivers/power/domain/Kconfig                  |    6 +
 drivers/power/domain/Makefile                 |    1 +
 drivers/power/domain/imx8m-blk-ctrl.c         |  438 +++++
 drivers/power/domain/imx8m-power-domain.c     |  213 ++-
 drivers/video/Kconfig                         |   14 +
 drivers/video/Makefile                        |    2 +
 drivers/video/bridge/Kconfig                  |   13 +
 drivers/video/bridge/Makefile                 |    1 +
 drivers/video/bridge/samsung-dsi-host.c       | 1576 +++++++++++++++++
 drivers/video/bridge/samsung-dsim.c           |  151 ++
 drivers/video/bridge/samsung-dsim.h           |   20 +
 drivers/video/bridge/video-bridge-uclass.c    |   11 +
 drivers/video/display-uclass.c                |    1 +
 drivers/video/dsi-host-uclass.c               |   10 +
 drivers/video/mxsfb.c                         |  144 +-
 drivers/video/synaptics-r63353.c              |  228 +++
 drivers/video/video_link.c                    |  529 ++++++
 include/clk.h                                 |    9 +
 include/configs/imx8mn_bsh_smm_s2.h           |    1 +
 include/configs/imx8mn_bsh_smm_s2_common.h    |    4 +
 include/configs/imx8mn_bsh_smm_s2pro.h        |    1 +
 include/dsi_host.h                            |    8 +
 include/linux/clk-provider.h                  |    1 +
 include/linux/math64.h                        |  110 ++
 include/phy-mipi-dphy.h                       |    3 +
 include/video_bridge.h                        |   20 +
 include/video_link.h                          |   19 +
 tools/logos/bsh.bmp                           |  Bin 0 -> 10644 bytes
 42 files changed, 3942 insertions(+), 83 deletions(-)
 create mode 100644 drivers/power/domain/imx8m-blk-ctrl.c
 create mode 100644 drivers/video/bridge/samsung-dsi-host.c
 create mode 100644 drivers/video/bridge/samsung-dsim.c
 create mode 100644 drivers/video/bridge/samsung-dsim.h
 create mode 100644 drivers/video/synaptics-r63353.c
 create mode 100644 drivers/video/video_link.c
 create mode 100644 include/video_link.h
 create mode 100644 tools/logos/bsh.bmp