From patchwork Mon Jul 27 08:42:01 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lars Povlsen X-Patchwork-Id: 11686555 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B5A7E722 for ; Mon, 27 Jul 2020 08:42:21 +0000 (UTC) Received: by mail.kernel.org (Postfix) id AE71720719; Mon, 27 Jul 2020 08:42:21 +0000 (UTC) Delivered-To: soc@kernel.org Received: from esa3.microchip.iphmx.com (esa3.microchip.iphmx.com [68.232.153.233]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5EDDC206E7; Mon, 27 Jul 2020 08:42:21 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=microchip.com header.i=@microchip.com header.b="YRFUr+bQ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5EDDC206E7 Authentication-Results: mail.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=microchip.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=Lars.Povlsen@microchip.com DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1595839341; x=1627375341; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=WYr258yzTXpeZq4ZS7iWdQCOwZdWx5s0U0DJNipkAO0=; b=YRFUr+bQYLTVd525hvaXUWeMJYVTmgFbF7Ua8+AyCMSMoNVawlFkDxwA j++WYmK7jGXKOfrspDHkLvpT+SetdjLiR3244fhcQVcktDu9HtJNWOI9l H4sOQYB17TRg86EYIz4yeAhiQZ50udpBaOrW8Mif3/NZ7stn0FWKqdZqo Dof1g208v35fG31rs/PCKIvQktaO/lKK3z5iVshVNlFecftHr0WSmWpvS fqYO7yIX2uXzGPthCarsuZ4dhI0XySnV9noUtEqtYNxcTFoyig/LoYnMu yOQEavHryQVML2WHPsexODkkhljYVipT+DdJZGh7t6Ih5V8y3sI7vZzfp g==; IronPort-SDR: 7h+9mPFX5+fDfqKRYGq7zEXieHZTt7NsmJTke6/7L715Muuz3SfkdXhHVnM66DkEqccEEj+ukp NDKib/nWZE7FFABEM/h32SH09RBkARXxwLVFhHz9VUek5B99VQUJTwzEDPTUcgC63PwQ0/gilH nGJWJ62R47lNOW5hWQo/WXLZJeRSYWfXcAqTr0xtpeNO7JlNJMbxnQ2oJFjaw0Gx3x3yxBTjD7 wYr9FHE612T+jn6UOrH4frPAqAaJ69C/HugGSAfq3cwXjvIA1IVNduSMzLp54NYdOmVvlqB4zc sIQ= X-IronPort-AV: E=Sophos;i="5.75,402,1589266800"; d="scan'208";a="85470205" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa3.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 27 Jul 2020 01:42:19 -0700 Received: from chn-vm-ex04.mchp-main.com (10.10.85.152) by chn-vm-ex04.mchp-main.com (10.10.85.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3; Mon, 27 Jul 2020 01:42:18 -0700 Received: from soft-dev15.microsemi.net (10.10.115.15) by chn-vm-ex04.mchp-main.com (10.10.85.152) with Microsoft SMTP Server id 15.1.1979.3 via Frontend Transport; Mon, 27 Jul 2020 01:42:14 -0700 From: Lars Povlsen List-Id: To: SoC Team , Arnd Bergmann , Stephen Boyd , Linus Walleij CC: Lars Povlsen , Steen Hegelund , Microchip Linux Driver Support , Olof Johansson , "Michael Turquette" , , , , , , Alexandre Belloni Subject: [PATCH v4 00/10] Adding support for Microchip Sparx5 SoC Date: Mon, 27 Jul 2020 10:42:01 +0200 Message-ID: <20200727084211.6632-1-lars.povlsen@microchip.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 This patch series adds support for Microchip Sparx5 SoC, the CPU system of a advanced, TSN capable gigabit switch. The CPU is an armv8 x 2 CPU core (A53). Although this is an ARM core, it shares some peripherals with the Microsemi Ocelot MIPS SoC. NB: This version *only* updates the drivers/clk/clk-sparx5.c driver Changes in v4: - Updates to the clock driver per Stephen Boyd - Remove unused include of of_address.h - Remove unused member in s5_hw_clk struct - Changed type (to unsigned long) for freq in s5_pll_conf struct - Use .parent_data instead of looking up parent name - Use devm_of_clk_add_hw_provider - Some minor comsmetics Changes in v3: - a "gpio-restart" node has been added to the pcb134/pcb135 DT files. - pinctrl-ocelot.c: ENOTSUPP replaced by EOPNOTSUPP. Fixed non-static ocelot_pinconf_set(), Fixed ocelot_hw_get_value() not returning proper read value. - Rebased on v5.8-rc1 Changes in v2: - Misc fixes to bindings/arm/microchip,sparx5.yaml - Changed clock driver to platform driver, using bitfields, recalc properly implented, using proper clock parent. - arch/arm64/boot/dts/microchip/sparx5.dtsi: - Added pmu and psci node, using PSCI - Updates to GICv3 register spaces (GICV/GICH) - Updated timer interrupt specifiers - pinctrl: ocelot: Fixed symbol clashes from powerpc Lars Povlsen (10): dt-bindings: arm: sparx5: Add documentation for Microchip Sparx5 SoC arm64: sparx5: Add support for Microchip 2xA53 SoC arm64: dts: sparx5: Add basic cpu support arm64: dts: sparx5: Add pinctrl support pinctrl: ocelot: Add Sparx5 SoC support dt-bindings: clock: sparx5: Add Sparx5 SoC DPLL clock dt-bindings: clock: sparx5: Add bindings include file clk: sparx5: Add Sparx5 SoC DPLL clock driver arm64: dts: sparx5: Add Sparx5 SoC DPLL clock arm64: dts: sparx5: Add i2c devices, i2c muxes .../bindings/arm/microchip,sparx5.yaml | 65 +++ .../bindings/clock/microchip,sparx5-dpll.yaml | 52 +++ .../devicetree/bindings/mfd/syscon.yaml | 1 + MAINTAINERS | 9 + arch/arm64/Kconfig.platforms | 14 + arch/arm64/boot/dts/Makefile | 1 + arch/arm64/boot/dts/microchip/Makefile | 4 + arch/arm64/boot/dts/microchip/sparx5.dtsi | 213 +++++++++ .../boot/dts/microchip/sparx5_pcb125.dts | 21 + .../boot/dts/microchip/sparx5_pcb134.dts | 17 + .../dts/microchip/sparx5_pcb134_board.dtsi | 252 ++++++++++ .../boot/dts/microchip/sparx5_pcb134_emmc.dts | 17 + .../boot/dts/microchip/sparx5_pcb135.dts | 17 + .../dts/microchip/sparx5_pcb135_board.dtsi | 92 ++++ .../boot/dts/microchip/sparx5_pcb135_emmc.dts | 17 + .../boot/dts/microchip/sparx5_pcb_common.dtsi | 19 + drivers/clk/Makefile | 1 + drivers/clk/clk-sparx5.c | 295 ++++++++++++ drivers/pinctrl/pinctrl-ocelot.c | 430 +++++++++++++++++- include/dt-bindings/clock/microchip,sparx5.h | 23 + 20 files changed, 1559 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/arm/microchip,sparx5.yaml create mode 100644 Documentation/devicetree/bindings/clock/microchip,sparx5-dpll.yaml create mode 100644 arch/arm64/boot/dts/microchip/Makefile create mode 100644 arch/arm64/boot/dts/microchip/sparx5.dtsi create mode 100644 arch/arm64/boot/dts/microchip/sparx5_pcb125.dts create mode 100644 arch/arm64/boot/dts/microchip/sparx5_pcb134.dts create mode 100644 arch/arm64/boot/dts/microchip/sparx5_pcb134_board.dtsi create mode 100644 arch/arm64/boot/dts/microchip/sparx5_pcb134_emmc.dts create mode 100644 arch/arm64/boot/dts/microchip/sparx5_pcb135.dts create mode 100644 arch/arm64/boot/dts/microchip/sparx5_pcb135_board.dtsi create mode 100644 arch/arm64/boot/dts/microchip/sparx5_pcb135_emmc.dts create mode 100644 arch/arm64/boot/dts/microchip/sparx5_pcb_common.dtsi create mode 100644 drivers/clk/clk-sparx5.c create mode 100644 include/dt-bindings/clock/microchip,sparx5.h --- 2.27.0