From patchwork Thu Oct 5 15:55:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Griffin X-Patchwork-Id: 13410227 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 705FDE92716 for ; Thu, 5 Oct 2023 15:58:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:Subject:Cc :To: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=pif1Fwdiwqb//X0CHXJgPZi+VoK+V4eXqWNB03/nqCA=; b=TlqLngSJmgd4BQ k2PdsbU/57Pu0pTs+ddvOVYXAjqhUc7sUd65fXao07l2D5BZS5oWvP5rqxZGUBmhCr1jp9SaFKmho irrn2PGpKL0fzzHl2LDFJZFh/DgJkAF31Iynahml8Ii9ayOWGD0pWb0DPStL4zeZlBxR+dCjhXb7a gM8ke6rv/49vieuZ++Hl24k4FdqDNmFltl0DBfOAPAjPYcNyuuUvqYQ2+ZwmodG3MFe3gYmqp75z2 73SIUQZbvX2frjO+RB97gTGkrZZrA97e8+mguPecOGIzlIVZ9bg19mcfZpLzDr04SgBNfQNVC+ULS BlazsrR0OovYTP3VtkUA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qoQj9-003xEu-2D; Thu, 05 Oct 2023 15:57:27 +0000 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qoQj4-003xBI-1X for linux-arm-kernel@lists.infradead.org; Thu, 05 Oct 2023 15:57:25 +0000 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-40675f06f1fso14038975e9.1 for ; Thu, 05 Oct 2023 08:57:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1696521438; x=1697126238; 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=SqhZbDetpDSPGH9tcjVMG0XAAmJGH9VuKuWc007JldY=; b=rmO/CpsnuFDxV1HECH0iJ6VMS/+2ZddNaugkB3r2u1N6xecsN+WQQjBwymVs0Tc96B K5Me6thKQi+6yPhSGAk5x9GmUKPRzwVBT2C2WC1J/bW/fH9veRW8as5wlDWFKEQSH/yI vpQ7HOwOJrU2U8mdoA5MMOwPLs+DbyU5Ple4fPdeZPNlG5hWXtY91n4CZLKUOEaZ5riL l/OW3yRyS0WSbel1+5m/YcczZNBKEGS8BmMwSN700xsvN0h5jWBDafS8F8wOUANMWwa5 j7zIws2RT1U02zIapRhUEW6BkyEOe7/gN4QsJj3Y9/4rGGv71lwLAGidLwbd4vJeuByo m2Gg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696521438; x=1697126238; 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=SqhZbDetpDSPGH9tcjVMG0XAAmJGH9VuKuWc007JldY=; b=MJk7I6RHxIfivcjo4DnNg3nMw0deBAk+TxrLXz/8fUt7XjMBXTt45zF5wtMN87AxXg Rw4I/xFTeqX2C2Nntd7o+msOxIwZynph8pwwSCtd99WOaMr+W5UdMg0yb+JbMjS1Qi8C fzKcQMsjjA+euQtUT/86VcmVO0/c7ygcu29lCglO0r2mjQvErop88LMyic+eNuiPMuKL +OAV4WpWa2ZpvOtryogeFQaCHNLkRUJJX8QfHVZQmamkJDcBXK9qlLn+R8zajHF7CGO0 v5IvjSaEqCpbNuWFePKF/R59KyLUiY2coPio0SxtyRm1aq3hc1+6LILplGjneHlp0mNW 8qgg== X-Gm-Message-State: AOJu0YyYwSQv6ZeEwERFXYu7/HEb9oBVbarY+sHidPchAoQLOl+xJtRS YY480z6QblqdwiL78jnTffcxhw== X-Google-Smtp-Source: AGHT+IG/GeJb2r19mj4jeu5ZFEFUp7ngzuC6ozd49h0DMFGWzzEf3HPXrcm2cFOkZ8TfC72H5BArow== X-Received: by 2002:a5d:668c:0:b0:317:6579:2b9f with SMTP id l12-20020a5d668c000000b0031765792b9fmr2534206wru.30.1696521438335; Thu, 05 Oct 2023 08:57:18 -0700 (PDT) Received: from gpeter-l.lan (host-92-12-225-146.as13285.net. [92.12.225.146]) by smtp.gmail.com with ESMTPSA id t9-20020a5d4609000000b0031f8a59dbeasm2084336wrq.62.2023.10.05.08.57.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Oct 2023 08:57:17 -0700 (PDT) From: Peter Griffin To: robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, mturquette@baylibre.com, conor+dt@kernel.org, sboyd@kernel.org, tomasz.figa@gmail.com, s.nawrocki@samsung.com, linus.walleij@linaro.org, wim@linux-watchdog.org, linux@roeck-us.net, catalin.marinas@arm.com, will@kernel.org, arnd@arndb.de, olof@lixom.net, cw00.choi@samsung.com Cc: peter.griffin@linaro.org, tudor.ambarus@linaro.org, andre.draszik@linaro.org, semen.protsenko@linaro.org, soc@kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-gpio@vger.kernel.org, linux-watchdog@vger.kernel.org Subject: [PATCH 00/21] Add minimal Tensor/GS101 SoC support and Oriole/Pixel6 board Date: Thu, 5 Oct 2023 16:55:57 +0100 Message-ID: <20231005155618.700312-1-peter.griffin@linaro.org> X-Mailer: git-send-email 2.42.0.582.g8ccd20d70d-goog MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231005_085722_584619_C85EC043 X-CRM114-Status: GOOD ( 20.88 ) 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 GS101 SoC and also initial board support for Pixel 6 phone (Oriole). The gs101 / Tensor SoC is also used in Pixel6a (bluejay) and Pixel 6 Pro (raven). Currently DT is just added for the gs101 SoC and Oriole. The support added in this series consists of: * cpus * pinctrl * some CCF clock implementation * watchdog * uart * gpio This is enough to boot through to a busybox initramfs and shell using an upstream kernel though :) More platform support will be added over the following weeks and months. Currently we boot with clk_ignore_unused parameter but this will be updated as more clocks and platform support lands. For further information on how to build and flash the upstream kernel on your Pixel 6, with a prebuilt busybox initramfs please refer to the script and README.md here: https://git.codelinaro.org/linaro/googlelt/pixelscripts I've also included the dtbo overlay containing board_id and board_rev in this series as otherwise the LK bootloader will bootloop if this is not present in the dtbo partition. It seems like it would be nicer for the upstream kernel to build all the DT required to boot upstream kernel on a production phone rather than having to obtain this dtbo from some other place, but if it is a pain point then I can remove it. Many thanks, Peter. Peter Griffin (21): dt-bindings: interrupt-controller: Add gs101 interrupt controller dt-bindings: soc: samsung: exynos-pmu: Add gs101 compatible dt-bindings: clock: Add Google gs101 clock management unit bindings dt-bindings: soc: google: exynos-sysreg: add dedicated SYSREG compatibles to GS101 dt-bindings: watchdog: Document Google gs101 & gs201 watchdog bindings dt-bindings: arm: google: Add bindings for Google ARM platforms dt-bindings: pinctrl: samsung: add google,gs101-pinctrl compatible dt-bindings: pinctrl: samsung: add gs101-wakeup-eint compatible dt-bindings: clock: gs101: Add cmu_top clock indices dt-bindings: clock: gs101: Add cmu_apm clock indices dt-bindings: clock: gs101: Add cmu_misc clock indices clk: samsung: clk-pll: Add support for pll_{0516,0517,518} clk: samsung: clk-gs101: Add cmu_top registers, plls, mux and gates clk: samsung: clk-gs101: add CMU_APM support clk: google: gs101: Add support for CMU_MISC clock unit pinctrl: samsung: Add gs101 SoC pinctrl configuration watchdog: s3c2410_wdt: Add support for Google tensor SoCs arm64: dts: google: Add initial Google gs101 SoC support google/gs101: Add dt overlay for oriole board arm64: defconfig: Enable Google Tensor SoC MAINTAINERS: add entry for Google Tensor SoC .../devicetree/bindings/arm/google.yaml | 46 + .../bindings/clock/google,gs101-clock.yaml | 109 + .../samsung,pinctrl-wakeup-interrupt.yaml | 2 + .../bindings/pinctrl/samsung,pinctrl.yaml | 4 +- .../bindings/soc/samsung/exynos-pmu.yaml | 2 + .../soc/samsung/samsung,exynos-sysreg.yaml | 7 + .../bindings/watchdog/samsung-wdt.yaml | 10 +- MAINTAINERS | 11 + arch/arm64/Kconfig.platforms | 6 + arch/arm64/boot/dts/Makefile | 1 + arch/arm64/boot/dts/google/Makefile | 7 + arch/arm64/boot/dts/google/gs101-oriole.dts | 68 + arch/arm64/boot/dts/google/gs101-oriole.dtso | 21 + arch/arm64/boot/dts/google/gs101-pinctrl.dtsi | 1134 +++++++++ arch/arm64/boot/dts/google/gs101-pinctrl.h | 17 + arch/arm64/boot/dts/google/gs101.dtsi | 501 ++++ arch/arm64/configs/defconfig | 1 + drivers/clk/samsung/Kconfig | 9 + drivers/clk/samsung/Makefile | 1 + drivers/clk/samsung/clk-gs101.c | 2171 +++++++++++++++++ drivers/clk/samsung/clk-pll.c | 9 +- drivers/clk/samsung/clk-pll.h | 3 + .../pinctrl/samsung/pinctrl-exynos-arm64.c | 163 ++ drivers/pinctrl/samsung/pinctrl-exynos.c | 68 +- drivers/pinctrl/samsung/pinctrl-exynos.h | 44 + drivers/pinctrl/samsung/pinctrl-samsung.c | 4 + drivers/pinctrl/samsung/pinctrl-samsung.h | 24 + drivers/watchdog/s3c2410_wdt.c | 116 +- include/dt-bindings/clock/gs101.h | 232 ++ .../dt-bindings/interrupt-controller/gs101.h | 758 ++++++ 30 files changed, 5533 insertions(+), 16 deletions(-) create mode 100644 Documentation/devicetree/bindings/arm/google.yaml create mode 100644 Documentation/devicetree/bindings/clock/google,gs101-clock.yaml create mode 100644 arch/arm64/boot/dts/google/Makefile create mode 100644 arch/arm64/boot/dts/google/gs101-oriole.dts create mode 100644 arch/arm64/boot/dts/google/gs101-oriole.dtso create mode 100644 arch/arm64/boot/dts/google/gs101-pinctrl.dtsi create mode 100644 arch/arm64/boot/dts/google/gs101-pinctrl.h create mode 100644 arch/arm64/boot/dts/google/gs101.dtsi create mode 100644 drivers/clk/samsung/clk-gs101.c create mode 100644 include/dt-bindings/clock/gs101.h create mode 100644 include/dt-bindings/interrupt-controller/gs101.h