Samsung Exynos 7870 (codename: Joshua) is an ARM-v8 system-on-chip that was announced in 2016. The chipset was found in several popular mid-range to low-end Samsung phones, released within 2016 to 2019. This patch series aims to add support for Exynos 7870, starting with the most basic yet essential components such as CPU, GPU, clock controllers, PMIC, pin controllers, etc. Moreover, the series also adds support for three Exynos 7870 devices via devicetree. The devices are: * Samsung Galaxy J7 Prime - released 2016, codename on7xelte * Samsung Galaxy J6 - released 2018, codename j6lte * Samsung Galaxy A2 Core - released 2019, codename a2corelte Additional features implemented in this series include: * I2C - touchscreen, IIO sensors, etc. * UART - bluetooth and serial debugging * MMC - eMMC, Wi-Fi SDIO, SDCard * USB - micro-USB 2.0 interface The series has commits from me and Sergey, who has given me permission to upstream their patches with proper attribution. Signed-off-by: Kaustabh Chakraborty <kauschluss@xxxxxxxxxxx> --- Kaustabh Chakraborty (26): dt-bindings: hwinfo: samsung,exynos-chipid: add exynos7870-chipid compatible dt-bindings: clock: document exynos7870 clock driver CMU bindings dt-bindings: soc: samsung: exynos-pmu: add exynos7870-pmu compatible dt-bindings: pinctrl: samsung: add exynos7870-pinctrl compatible dt-bindings: pinctrl: samsung: add exynos7870-wakeup-eint compatible dt-bindings: serial: samsung: add exynos7870-uart compatible dt-bindings: mfd: samsung,s2mps11: add compatible for s2mpu05-pmic regulator: dt-bindings: add documentation for s2mpu05-pmic regulators dt-bindings: phy: samsung,usb3-drd-phy: add exynos7870-usbdrd-phy compatible dt-bindings: usb: samsung,exynos-dwc3: add exynos7870 support dt-bindings: gpu: arm,mali-midgard: add exynos7870 mali compatible dt-bindings: i2c: samsung,s3c2410: add exynos7870-i2c compatible dt-bindings: i2c: exynos5: add exynos7870-hsi2c compatible dt-bindings: mmc: samsung,exynos-dw-mshc: add exynos7870 support dt-bindings: soc: samsung,boot-mode: add boot mode definitions for exynos7870 dt-bindings: arm: samsung: add compatibles for exynos7870 devices soc: samsung: exynos-chipid: add support for exynos7870 clk: samsung: add exynos7870 CLKOUT support tty: serial: samsung: add support for exynos7870 phy: exynos5-usbdrd: fix MPLL_MULTIPLIER and SSC_REFCLKSEL masks in refclk phy: exynos5-usbdrd: use GENMASK and FIELD_PREP for Exynos5 PHY registers usb: dwc3: exynos: add support for exynos7870 arm64: dts: exynos: add initial devicetree support for exynos7870 arm64: dts: exynos: add initial support for Samsung Galaxy J7 Prime arm64: dts: exynos: add initial support for Samsung Galaxy A2 Core arm64: dts: exynos: add initial support for Samsung Galaxy J6 Sergey Lisov (7): dt-bindings: clock: add clock definitions for exynos7870 CMU clk: samsung: add initial exynos7870 clock driver pinctrl: samsung: add support for exynos7870 pinctrl mfd: sec: add support for S2MPU05 PMIC regulator: s2mps11: Add support for S2MPU05 regulators phy: exynos5-usbdrd: add exynos7870 USBDRD support mmc: dw_mmc: add exynos7870 support, with a quirk for accessing 64-bit FIFOs in two halves .../bindings/arm/samsung/samsung-boards.yaml | 8 + .../bindings/clock/samsung,exynos7870-clock.yaml | 246 +++ .../devicetree/bindings/gpu/arm,mali-midgard.yaml | 5 +- .../bindings/hwinfo/samsung,exynos-chipid.yaml | 1 + .../devicetree/bindings/i2c/i2c-exynos5.yaml | 1 + .../bindings/i2c/samsung,s3c2410-i2c.yaml | 1 + .../devicetree/bindings/mfd/samsung,s2mps11.yaml | 13 + .../bindings/mmc/samsung,exynos-dw-mshc.yaml | 2 + .../bindings/phy/samsung,usb3-drd-phy.yaml | 2 + .../pinctrl/samsung,pinctrl-wakeup-interrupt.yaml | 2 + .../bindings/pinctrl/samsung,pinctrl.yaml | 1 + .../bindings/regulator/samsung,s2mpu05.yaml | 44 + .../devicetree/bindings/serial/samsung_uart.yaml | 2 + .../bindings/soc/samsung/exynos-pmu.yaml | 1 + .../bindings/usb/samsung,exynos-dwc3.yaml | 34 +- arch/arm64/boot/dts/exynos/Makefile | 3 + .../arm64/boot/dts/exynos/exynos7870-a2corelte.dts | 624 +++++++ arch/arm64/boot/dts/exynos/exynos7870-j6lte.dts | 611 +++++++ arch/arm64/boot/dts/exynos/exynos7870-on7xelte.dts | 659 +++++++ arch/arm64/boot/dts/exynos/exynos7870-pinctrl.dtsi | 1035 +++++++++++ arch/arm64/boot/dts/exynos/exynos7870.dtsi | 722 ++++++++ drivers/clk/samsung/Makefile | 1 + drivers/clk/samsung/clk-exynos-clkout.c | 3 + drivers/clk/samsung/clk-exynos7870.c | 1830 ++++++++++++++++++++ drivers/mfd/sec-core.c | 12 + drivers/mfd/sec-irq.c | 85 + drivers/mmc/host/dw_mmc-exynos.c | 41 +- drivers/mmc/host/dw_mmc.c | 94 +- drivers/mmc/host/dw_mmc.h | 27 + drivers/phy/samsung/phy-exynos5-usbdrd.c | 407 ++++- drivers/pinctrl/samsung/pinctrl-exynos-arm64.c | 141 ++ drivers/pinctrl/samsung/pinctrl-exynos.h | 29 + drivers/pinctrl/samsung/pinctrl-samsung.c | 2 + drivers/pinctrl/samsung/pinctrl-samsung.h | 1 + drivers/regulator/Kconfig | 4 +- drivers/regulator/s2mps11.c | 92 +- drivers/soc/samsung/exynos-chipid.c | 1 + drivers/tty/serial/samsung_tty.c | 13 + drivers/usb/dwc3/dwc3-exynos.c | 9 + include/dt-bindings/clock/exynos7870.h | 324 ++++ include/dt-bindings/soc/samsung,boot-mode.h | 6 + include/linux/mfd/samsung/core.h | 1 + include/linux/mfd/samsung/irq.h | 44 + include/linux/mfd/samsung/s2mpu05.h | 152 ++ include/linux/soc/samsung/exynos-regs-pmu.h | 2 + 45 files changed, 7257 insertions(+), 81 deletions(-) --- base-commit: df4b2bbff898227db0c14264ac7edd634e79f755 change-id: 20250201-exynos7870-049587e4b7df Best regards, -- Kaustabh Chakraborty <kauschluss@xxxxxxxxxxx>