[Letux-kernel] [RFC 00/28] Add support for Ingenic JZ4730

H. Nikolaus Schaller hns at goldelico.com
Sat Jan 23 17:35:01 CET 2021


Hi,
just some more notes:

* this is he result of squeezing and rearranging the patch series from
  https://git.goldelico.com/?p=letux-kernel.git;a=shortlog;h=refs/heads/letux/jz4730-v6
* I am not sure if I got the proper author into the files (MODULE_AUTHOR() may be incomplete) - please check
* i2c and dma are incomplete
* ethernet and sound are missing
* the bindings documentation is not complete (e.g. jz4730-gpio undefined)
* I did not yet run dtbscheck
* I have fixed some (but not all) issues reported by checkpatch
* a similar squeeze/rearrange/cleanup is planned for the device support (device tree, power management driver, defconfig)
* the goal is to bring it into a shape that is ready for upstreaming

So please review

BR and thanks,
Nikolaus


> 
> Am 23.01.2021 um 17:28 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
> 
> This series adds kernel support for the Ingenic JZ430 SoC.
> 
> The jz4730 SoC is similar but not identical to the other
> Ingenic SoC. Hence we add code to some existing drivers,
> add some new variants and provide a device tree include
> file.
> 
> This chip is used by the Skytone Alpha 400 and derivatives.
> A machine definition for the alpha400 is in a separate
> series.
> 
> We also have some small fixes for DRM and jz4740 in this
> series.
> 
> There have been multiple authors working on the project:
> - Paul Boddie <paul at boddie.org.uk>
> - Lubomir Rintel <lkundrak at v3.sk>
> - H. Nikolaus Schaller <hns at goldelico.com>
> 
> 
> H. Nikolaus Schaller (17):
>  MIPS: ingenic: introduce MACH_JZ4730
>  MIPS: add jz4730 to generic/board-ingenic
>  Bindings: clock: ingenic,cgu: add jz4730
>  Bindings: timer: ingenic,tcu: add jz4730
>  Bindings: timer: ingenic: add jz4730-pwm
>  Bindings: pinctrl: ingenic: add jz4730
>  Bindings: i2c: ingenic: add jz4730
>  Bindings: dma: ingenic: add jz4730
>  drm/fourcc: add legacy conversion from bpp=32 to depth=16
>  drm/client: handle potential NULL pointer dereference
>  drm/fb-helper: fix potential NULL dereference in drm_fbdev_cleanup()
>  drm/ingenic: write JZ_REG_LCD_IPUR only if there is an ipu_plane
>  drm/ingenic: fix assignment of DMA channels
>  Bindings: drm/ingenic: add jz4730
>  drm/ingenic: add jz4730 SoC info
>  MIPS: DTS: jz4740: add i2c support
>  hack: disable DMA for mmc
> 
> Paul Boddie (11):
>  MIPS: DTS: add JZ4730 DT file
>  clock/ingenic/cgu: introduce clock driver for the JZ4730
>  clock/ingenic/tcu: add JZ4730 definitons
>  timer: ingenic: Add TCU declarations for the JZ4730
>  pwm: introduce jz4730 pwm driver
>  irq: ingenic: add JZ4730 interrupt controller identification
>  irqchip/ingenic: Pass the whole priv struct to callbacks and add
>    jz4730
>  pinctrl/ingenic: Add pinctrl support for the JZ4730
>  i2c: introduce JZ4730/JZ4740 I2C driver
>  dmaengine: jz4780: add JZ4730 DMA customisations
>  watchdog: jz4740: add JZ4730 watchdog timer support
> 
> .../bindings/clock/ingenic,cgu.yaml           |   1 +
> .../bindings/display/ingenic,lcd.yaml         |   2 +
> .../devicetree/bindings/dma/ingenic,dma.yaml  |   1 +
> .../devicetree/bindings/i2c/ingenic,i2c.yaml  |   2 +
> .../bindings/pinctrl/ingenic,pinctrl.yaml     |   1 +
> .../bindings/timer/ingenic,tcu.yaml           |   4 +
> arch/mips/boot/dts/ingenic/jz4730.dtsi        | 363 +++++++++++++++
> arch/mips/boot/dts/ingenic/jz4740.dtsi        |  16 +
> arch/mips/generic/board-ingenic.c             |   3 +
> arch/mips/ingenic/Kconfig                     |   5 +
> drivers/clk/ingenic/Kconfig                   |  10 +
> drivers/clk/ingenic/Makefile                  |   1 +
> drivers/clk/ingenic/jz4730-cgu.c              | 268 +++++++++++
> drivers/clk/ingenic/tcu.c                     | 185 ++++++--
> drivers/clocksource/ingenic-timer.c           |  73 ++-
> drivers/dma/dma-jz4780.c                      | 101 +++-
> drivers/gpu/drm/drm_client.c                  |   5 +
> drivers/gpu/drm/drm_fb_helper.c               |   2 +-
> drivers/gpu/drm/drm_fourcc.c                  |   3 +
> drivers/gpu/drm/ingenic/ingenic-drm-drv.c     |  33 +-
> drivers/i2c/busses/Kconfig                    |   9 +
> drivers/i2c/busses/Makefile                   |   1 +
> drivers/i2c/busses/i2c-jz4730.c               | 430 ++++++++++++++++++
> drivers/irqchip/irq-ingenic-tcu.c             |  75 ++-
> drivers/irqchip/irq-ingenic.c                 |   1 +
> drivers/mmc/host/jz4740_mmc.c                 |   1 +
> drivers/pinctrl/pinctrl-ingenic.c             | 197 +++++++-
> drivers/pwm/Kconfig                           |  10 +
> drivers/pwm/Makefile                          |   1 +
> drivers/pwm/pwm-jz4730.c                      | 248 ++++++++++
> drivers/watchdog/jz4740_wdt.c                 | 104 ++++-
> include/dt-bindings/clock/jz4730-cgu.h        |  48 ++
> include/linux/mfd/ingenic-tcu.h               |  25 +-
> 33 files changed, 2130 insertions(+), 99 deletions(-)
> create mode 100644 arch/mips/boot/dts/ingenic/jz4730.dtsi
> create mode 100644 drivers/clk/ingenic/jz4730-cgu.c
> create mode 100644 drivers/i2c/busses/i2c-jz4730.c
> create mode 100644 drivers/pwm/pwm-jz4730.c
> create mode 100644 include/dt-bindings/clock/jz4730-cgu.h
> 
> -- 
> 2.26.2
> 



More information about the Letux-kernel mailing list