From patchwork Fri Sep 20 15:44:58 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ivaylo Ivanov X-Patchwork-Id: 13808581 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 88677CF9C55 for ; Fri, 20 Sep 2024 15:46:43 +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:Content-Transfer-Encoding: MIME-Version:Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=4URIMbPjI5zukEST/bFTmzzudhozSJLeeQynbazhWQw=; b=OLoPsUhq2Du5jsI4YF/6d2aZ0e AJpczLbLq2N3xJDWdebeScz8rLdOFGHovXyaBp09e85zF6l1jhqpUz+VQ9wXC2d19CbI01MSO8fME xx8ASv3y0I62D/eK5FRPFG+ze+ElJsZ4OHzQIX7pfqil3Hhvi5VryjzEwazcWxDHj9keEu1/GRkea b7sikbmbtCC2fUg8D/fu/43wHtQnNpY16AZgHt7cGMfh/tsOSZVupMAQf+ZV/MC62gksKbu/+QGU8 Xfa+V0uy6kvRwEeBA/RziKeTkFqJeESKWg8WXxoc6YOHtKKkkDwvaQQNhBqXdqR9sP/rEeEkvl5Vm sEYqSHzg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1srfq2-0000000CV60-1oMa; Fri, 20 Sep 2024 15:46:30 +0000 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1srfot-0000000CUop-3Hby for linux-arm-kernel@lists.infradead.org; Fri, 20 Sep 2024 15:45:21 +0000 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-374c7d14191so1988978f8f.0 for ; Fri, 20 Sep 2024 08:45:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1726847117; x=1727451917; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=4URIMbPjI5zukEST/bFTmzzudhozSJLeeQynbazhWQw=; b=TlUD9M2ZmOGIXVDDjudI9bLvhQUuoKPl2xnljflxOoMTZYrrBJNCitaXzz/UsEWB8+ Yo85vRSlC+dHakWqzk9sFfyUa0RpNs3T5JyWDep1b/zUGN0zFEyEmhKO1c+pwBRfwb9c eGFzGMlTfL26eGbXBpmAFkqq5wOi6dDYRAAQJN9u6Rrojy7Fh4P3TcnBhVTSrSWJCzpM FUSm4wdPpmsLCGeIRj5TcpYw3BjsmcZNLehxWvzTzCztcvDlWPfUCqYjVu/5dGEAGyDt q2O9cVs7YxK6gdXRp9X9i1S05immdw2OI4+dqRbWqTVXtqnLVh7HhudB6jQLIHqVg8Uo 67bA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726847117; x=1727451917; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=4URIMbPjI5zukEST/bFTmzzudhozSJLeeQynbazhWQw=; b=MmuSrF5f222/Ls4dwdUsmJG7BFBs5gpQDarp7s9PeOkp0/V/3W/5Wdx/RDj/CIqdcP wxXzgx7ISV9HgGpyLc8q0AjxvUQOc+CQrj5bGBG3h0S8ZTZ/7bQ2mESOyLJ3RJZ1z+4t POxe4EVUzxdKqGYQBD+4l57zpuWULIQ7IJ8IkcZnfQ/9Nioax54rQp5xZmdLPEBjPzaV R30QaAlD3s5VEcYSEq7somY3UzGeihi2ZYWf+P+NV8hYgfcZyVDagP5hW8ZQdBrx6pR3 pdy7+EsS9r8qrsjGLPK4lkGAc9PvySE71eJ20IcpYkPkFd437evxHJCadOgBx+mLRX4E nh9w== X-Forwarded-Encrypted: i=1; AJvYcCXjtzj8XbSTwOF7nIZ1M5dCFo+xVQuyJcgjw1AVry/v1b2+ij2rchTK4qDYrmn9lzhC+B03brF50UKpTV1H6oeH@lists.infradead.org X-Gm-Message-State: AOJu0Yx/RfdUK3hvTmLCpCvqX+D1c8iqcxwygm34ZErZ9Gw9U0d9PlhN NvdvgMlmOunbw5i5hYbvjqqoWpRkIz732l6C05EDfvJfURiMj2AV X-Google-Smtp-Source: AGHT+IF3CvqZEy6xSLwewSsAnYAFHq63eD9+RoRpgle8y7OjD5c10btdFWojGzPFdDo7uWsoI287Jw== X-Received: by 2002:a5d:5605:0:b0:374:c25a:f580 with SMTP id ffacd0b85a97d-37a414cec7cmr2466880f8f.14.1726847117000; Fri, 20 Sep 2024 08:45:17 -0700 (PDT) Received: from ivaylo-desktop.. (91-139-201-119.stz.ddns.bulsat.com. [91.139.201.119]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-378e780defdsm17772839f8f.115.2024.09.20.08.45.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 20 Sep 2024 08:45:16 -0700 (PDT) From: Ivaylo Ivanov To: Krzysztof Kozlowski , Conor Dooley , Alim Akhtar , Sylwester Nawrocki , Linus Walleij , Rob Herring Cc: linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v5 00/10] Add minimal Exynos8895 SoC and SM-G950F support Date: Fri, 20 Sep 2024 18:44:58 +0300 Message-Id: <20240920154508.1618410-1-ivo.ivanov.ivanov1@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240920_084519_849261_C9422B38 X-CRM114-Status: GOOD ( 22.22 ) 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 Hi folks, This series adds initial SoC support for the Exynos 8895 SoC and also initial board support for Samsung Galaxy S8 phone (SM-G950F), codenamed dreamlte. The Exynos 8895 SoC is also used in S8 Plus (dream2lte), Note 8 (greatlte) and Meizu 15 Plus (m1891). Currently DT is added for the Exynos 8895 SoC and dreamlte, but it should be really easy to adapt for the other devices with the same SoC. It has been tested with dtbs_check W=1 and results in no warnings. The support added in this series consists of: * cpus * pinctrl * gpio * simple-framebuffer * pstore This is enough to reach a minimal initramfs shell using an upstream kernel. More platform support will be added in the future. The preferred way to boot this device is by using a small shim bl called uniLoader [1], which packages the mainline kernel and DT and jumps to the kernel. This is done in order to work around some issues caused by the stock, and non-replacable Samsung S-Boot bootloader. For example, S-Boot leaves the decon trigger control unset, which causes the framebuffer to not refresh. [1] https://github.com/ivoszbg/uniLoader Changes in v2: - No patch changes were made, only fixed the issues with my git send-email Changes in v3: - Added a-b tags by Rob Herring and Linus Walleij - Ordered the Samsung Mongoose M2 compatible in cpus.yaml - Ordered the EXYNOS8895 information in exynos-chipid.c - Made the commit message for pinctrl support more detailed - Made the commit message for exynos-pmu.yaml more detailed - Fixed suffixes for the exynos8895 pinctrl device tree - Removed redundant nodes from the exynos8895 pinctrl device tree - Made the arm-a53-pmu node cover only the Cortex A53 cores - Added a comment mentioning the lack of a PMU model for Mongoose cores - Added a comment mentioning the issue with CNTFRQ_EL0 - Removed the redundant fixed rate clocks wrapper - Ordered the nodes by the DTS coding style in all 8895 DT files - Removed the redundant status property from the simple-framebuffer node - Switch to dual licensing (GPL-2.0 OR BSD-3-Clause) for the DT files Changes in v4: - Added r-b tag by Sam Protsenko - Resolved the remaining pinctrl node name regex issues - Corrected interrupt-cells for gpa1-gpio-bank - Fixed suffixes for the dreamlte gpio keys pin nodes - Reordered the dreamlte gpio-keys nodes alphabetically - Fixed interrupt-controller simple-bus unit address - Change framebuffer-related node labels to match other device trees Changes in v5: - Removed a false a-b - Added an r-b tag by Krzysztof Kozlowski - Ordered nodes alphabetically while keeping -gpio-bank's in front in the exynos8895 pinctrl DT - Sorted a few nodes and properties in the exynos8895 SoC DT Kind regards, Ivaylo. Ivaylo Ivanov (10): dt-bindings: arm: cpus: Add Samsung Mongoose M2 dt-bindings: hwinfo: samsung,exynos-chipid: add exynos8895 compatible soc: samsung: exynos-chipid: add exynos8895 SoC support dt-bindings: pinctrl: samsung: Add compatible for Exynos8895 SoC pinctrl: samsung: Add exynos8895 SoC pinctrl configuration dt-bindings: pinctrl: samsung: add exynos8895-wakeup-eint compatible dt-bindings: soc: samsung: exynos-pmu: Add exynos8895 compatible arm64: dts: exynos: Add initial support for exynos8895 SoC dt-bindings: arm: samsung: Document dreamlte board binding arm64: dts: exynos: Add initial support for Samsung Galaxy S8 .../devicetree/bindings/arm/cpus.yaml | 1 + .../bindings/arm/samsung/samsung-boards.yaml | 6 + .../hwinfo/samsung,exynos-chipid.yaml | 1 + .../samsung,pinctrl-wakeup-interrupt.yaml | 1 + .../bindings/pinctrl/samsung,pinctrl.yaml | 1 + .../bindings/soc/samsung/exynos-pmu.yaml | 1 + arch/arm64/boot/dts/exynos/Makefile | 1 + .../boot/dts/exynos/exynos8895-dreamlte.dts | 126 ++ .../boot/dts/exynos/exynos8895-pinctrl.dtsi | 1094 +++++++++++++++++ arch/arm64/boot/dts/exynos/exynos8895.dtsi | 251 ++++ .../pinctrl/samsung/pinctrl-exynos-arm64.c | 137 +++ drivers/pinctrl/samsung/pinctrl-exynos.h | 10 + drivers/pinctrl/samsung/pinctrl-samsung.c | 2 + drivers/pinctrl/samsung/pinctrl-samsung.h | 1 + drivers/soc/samsung/exynos-chipid.c | 1 + 15 files changed, 1634 insertions(+) create mode 100644 arch/arm64/boot/dts/exynos/exynos8895-dreamlte.dts create mode 100644 arch/arm64/boot/dts/exynos/exynos8895-pinctrl.dtsi create mode 100644 arch/arm64/boot/dts/exynos/exynos8895.dtsi