[Letux-kernel] [RFC 00/28] Add support for Ingenic JZ4730
H. Nikolaus Schaller
hns at goldelico.com
Sat Jan 23 17:28:26 CET 2021
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