From patchwork Sun Feb 2 18:36:33 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kaustabh Chakraborty X-Patchwork-Id: 13956585 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9E0EFC0218F for ; Sun, 2 Feb 2025 18:39:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To: Content-Transfer-Encoding:Content-Type:MIME-Version:Message-Id:Date:Subject: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=IhPwm0qmYAcLySkBWNG5hjZhUI/Gg053wT4R/+WZR2Y=; b=Ku9YTg2hYla+8c P6tloPc3S3R80CtRrv0jGovPtUAaZD7NZcluAUh+0pKdDl9DtLfDGZAaDqx3WRyroxPREsLk1EoK9 /BeKooaB+jzUrARIBJQPojZpYpazyl0jTsWC0modjyH5cA0qngT0eiQzyO2D6slLh3r9E5+M0PxU1 z+z8BoS4sab4kv3WS2LspZG8gqMKDIb10BjCi5a7eS5u9qejCpzP2NC2es6vyKIzuJnURIdrWXD4m BIZID80AfEEjw/7INRUISkcxLK57W8ddrnkraodNNovI0u7FDf+lvIPhj/mxvvbXoGv8nGZ87w33q ms5o1aPWfFx2ATz3N+ew==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1teesh-0000000E2nB-281u; Sun, 02 Feb 2025 18:39:43 +0000 Received: from layka.disroot.org ([178.21.23.139]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1teerL-0000000E2Ws-0aWE; Sun, 02 Feb 2025 18:38:20 +0000 Received: from mail01.disroot.lan (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id F211924D2C; Sun, 2 Feb 2025 19:38:11 +0100 (CET) X-Virus-Scanned: SPAM Filter at disroot.org Received: from layka.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id OEy66ANLXArl; Sun, 2 Feb 2025 19:38:07 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1738521487; bh=PJpkgskkNYqE5ktWw6CmmWj99ePEwkxlYbUu1j7z2tQ=; h=From:Subject:Date:To:Cc; b=PvRkanL+THf7F0wJyRMfB4LMkH1MPC/pG9VfEO20TqFB1gTnivf3bmhWs56ZXjTuy 1/DKfAcHXhDlpT7dQm452xmiL3Dp54ty6+0kg7giSIINEDGSL3NOR5yAxEt5GL1DH6 SdgrDIj+G6K/4/xY6QFe3IWjCvVqnT7BsJ5Ccfm8CwPAWI+6JaoJyUSiD7G98lqWjn qsyQ2CCWkbR9M/1GzNw62FUXLt+SGgb9ptR+gHHR3LRmxC3bjWaewgB/uiFCQJ2K2/ i/TZvyU1Ao9ULDNM8ff3udU0yroWs6G+AyKSBU5Aj+/ZKRjWeQ7dUDMIn/0jcZax9N boofc5bJitG+w== From: Kaustabh Chakraborty Subject: [PATCH 00/33] Add support for the Exynos7870 SoC, along with three devices Date: Mon, 03 Feb 2025 00:06:33 +0530 Message-Id: <20250203-exynos7870-v1-0-2b6df476a3f0@disroot.org> MIME-Version: 1.0 X-B4-Tracking: v=1; b=H4sIADG7n2cC/6tWKk4tykwtVrJSqFYqSi3LLM7MzwNyDHUUlJIzE vPSU3UzU4B8JSMDI1MDIwND3dSKyrz8YnMLcwNdAxNLUwvzVJMk85Q0JaCGgqLUtMwKsGHRsbW 1AMsls61cAAAA X-Change-ID: 20250201-exynos7870-049587e4b7df To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Alim Akhtar , Sylwester Nawrocki , Chanwoo Choi , Michael Turquette , Stephen Boyd , Tomasz Figa , Linus Walleij , Greg Kroah-Hartman , Jiri Slaby , Lee Jones , Liam Girdwood , Mark Brown , Vinod Koul , Kishon Vijay Abraham I , Marek Szyprowski , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Andi Shyti , Ulf Hansson , Jaehoon Chung , Vivek Gautam , Thinh Nguyen , Kees Cook , Tony Luck , "Guilherme G. Piccoli" Cc: Sergey Lisov , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, linux-gpio@vger.kernel.org, linux-serial@vger.kernel.org, linux-phy@lists.infradead.org, linux-usb@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-i2c@vger.kernel.org, linux-mmc@vger.kernel.org, linux-hardening@vger.kernel.org, Kaustabh Chakraborty X-Developer-Signature: v=1; a=ed25519-sha256; t=1738521464; l=6574; i=kauschluss@disroot.org; s=20250202; h=from:subject:message-id; bh=PJpkgskkNYqE5ktWw6CmmWj99ePEwkxlYbUu1j7z2tQ=; b=OQtdK1RGc0JLdcNe0AAwrKVcWolcTpa0ZUxZtTQKZh2HI/tE+Yxg3q5N8DaCYUDzMaj8ii3Z3 nZlAC/KW2OeALOGfeSJkRYgLwjHwBi5N9Fw5vGYllF7W3vwwCgIL231 X-Developer-Key: i=kauschluss@disroot.org; a=ed25519; pk=h2xeR+V2I1+GrfDPAhZa3M+NWA0Cnbdkkq1bH3ct1hE= X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250202_103819_746652_8A9A15F9 X-CRM114-Status: GOOD ( 14.61 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org 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 --- 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,