From patchwork Fri Jun 12 13:00:00 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Daniel Palmer X-Patchwork-Id: 11601623 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 EE049138C for ; Fri, 12 Jun 2020 13:02:51 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id B34D520835 for ; Fri, 12 Jun 2020 13:02:51 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="ZgnwAC07"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=0x0f.com header.i=@0x0f.com header.b="EPdfTDWl" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B34D520835 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=0x0f.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=mMoY/lZia5gZoPU43ASIbPDWjjXkqzXrT3FUka8i+zI=; b=ZgnwAC07v93Tnm hh/uHXamrtvkbUXCy7pDHlwKxT97uyEcW39EhHpWy0x3un/hPUs+Yoe0HXKlwIhjDmqopbAPh5QAq HgSzeb+XJSJHF6P2GE/pBxWm5bJWtg7ZF4LskPumcqanEKfB7mJk0whtaKltTdfVZiDYGfXvLW1yY F8pf6QnuaIusoZOgioJW1jmFjnpIPpk6Fj9Gxd5ijMhNJgQAqM4wQmT7j5O+TqoQzewU8Vto6XfcY M/TR/9QTU+ACv+Eud/sHwKsLoYgVV9SCcvQ3WKM9yOIVZoltIKZ67j/etA/VuhmtDlMv8sKn7Bsyl OsUAldPWdAI5CqzcEQ+Q==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jjjKc-00045z-9i; Fri, 12 Jun 2020 13:02:50 +0000 Received: from mail-pl1-x644.google.com ([2607:f8b0:4864:20::644]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jjjKY-00045O-N8 for linux-arm-kernel@lists.infradead.org; Fri, 12 Jun 2020 13:02:48 +0000 Received: by mail-pl1-x644.google.com with SMTP id y17so3716494plb.8 for ; Fri, 12 Jun 2020 06:02:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=0x0f.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=B4qeZQcX95U4N3R/ypmQmEh1mMjrUPShqDI2RTzZrjQ=; b=EPdfTDWl1G/GVHurZylyRqjKzspNsa17BFE58sovbsXPHfds/7uvGL65oLZbe17VZQ Ar6IEsfVe0S3pirOPx3w771y1O9/Q7ARtuUz9LaeG2YISqLi2vNQ3kb4wADnfLDepLgp F2MLaikUlPZCu+u3fAYRDizjOrDd/+41mk5wY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=B4qeZQcX95U4N3R/ypmQmEh1mMjrUPShqDI2RTzZrjQ=; b=GDWYV7zqa5LAmOZMxQq19Y1yIU6tEcW27IOxVAdPUL7bUIIKyXtbus+uDPY7yXJBZl R/Ec0rQnwyln92EvfMDjraWjsx10mTYHnqEfPqQRO/tOhZHe7+TRNRKGlA9HDWELKnA0 YE65D/Yvsr8H1Pj6Kk6OtffOTmqtUSRj5064uy4CFgoWJAbKF6mMccdUPaSHEUGXWr1M ND/heA2uWuVQO0TWfriWYjJu5HlJyCzazCAYx7KkmJ9gVDwLUwY4DC+gkoJrl4Pj+5RC vqg6Ytl/CMhyLz4lYi8cVhsF0APFp7ZtslkXIg2hM0CZa/0XNDV700Rt9rvDCtSELDaU IGtQ== X-Gm-Message-State: AOAM5339FGzhuZIAAvjRW6RA6u0xjFbOcbgHOPuXcskMUrhLMr/ZkE/O D5ATuET0LF6rNWr9s18oAAlsgQ== X-Google-Smtp-Source: ABdhPJyvkfI58V2aXL74q8VxrTKcq9UctmPdxlYUl4YZz8qY2tcibtTno2DYbZMfzP1WXTFnsCG46g== X-Received: by 2002:a17:90a:cc18:: with SMTP id b24mr13045485pju.118.1591966965021; Fri, 12 Jun 2020 06:02:45 -0700 (PDT) Received: from shiro.work (p1285116-ipngn200805sizuokaden.shizuoka.ocn.ne.jp. [114.171.61.116]) by smtp.googlemail.com with ESMTPSA id k12sm5481939pgm.11.2020.06.12.06.02.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Jun 2020 06:02:43 -0700 (PDT) From: Daniel Palmer To: linux-kernel@vger.kernel.org Subject: [PATCH v3 00/12] Initial MStar/Sigmastar Armv7 SoC support Date: Fri, 12 Jun 2020 22:00:00 +0900 Message-Id: <20200612130032.3905240-1-daniel@0x0f.com> X-Mailer: git-send-email 2.27.0.rc0 In-Reply-To: <20200610090421.3428945-1-daniel@0x0f.com> References: <20200610090421.3428945-1-daniel@0x0f.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200612_060246_860991_8D421662 X-CRM114-Status: GOOD ( 23.13 ) X-Spam-Score: -0.2 (/) X-Spam-Report: SpamAssassin version 3.4.4 on bombadil.infradead.org summary: Content analysis details: (-0.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:644 listed in] [list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Linus Walleij , Masahiro Yamada , Daniel Palmer , Benjamin Gaignard , Sam Ravnborg , Ard Biesheuvel , Stephan Gerhold , Jonathan Corbet , Mauro Carvalho Chehab , Heiko Stuebner , daniel@0x0f.com, Russell King , Bartosz Golaszewski , Nathan Huckleberry , devicetree@vger.kernel.org, Arnd Bergmann , allen , Lubomir Rintel , Rob Herring , Gregory Fong , Doug Anderson , Nathan Chancellor , linux-arm-kernel@lists.infradead.org, Greg Kroah-Hartman , Nick Desaulniers , afaerber@suse.de, Mark Brown , Marc Zyngier , Andrew Morton , "David S. Miller" , Mike Rapoport Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org This patch set adds initial support for MStar/Sigmastar's Armv7 based SoCs. There is just enough here to get to a shell with an initramfs but support for a lot of the hardware is in progress and will follow. MStar also shipped chips with MIPS cores and ARM9 etc which are incompatible so I've tried to make the distinction in the code that this is strictly for the Armv7 based chips. Differences from v2: 1. With Marc Zyngier's help the GIC node has been filled out properly. 2. A comment was added to the arch timer node to explain why the clock-frequency is specified. Basically the vendor u-boot is old and broken. 3. Based on Arnd Bergmann's feedback the heavy memory barrier is now implemented using a DT node to specify where the registers are instead of hardcoding their location. A binding description has been added for the new node. 4. Expanded comments around the heavy memory barrier code so it's more obvious why it looks like it does. 5. The heavy memory barrier init code was folded into the machine init function. 6. Updated the device tree bindings and prefixes based on Andreas Färber's feedback. They have also been split out into a number of commits 7. Based on Andreas Färber's feedback I've added the "riu" (register interface unit) internal bus that contains all of the peripheral registers and the proper ranges for the soc node. This bus has clocks, interrupts and some configuration register so it might get it's own driver in the future. 8. I've dropped the pmu node for now as it's not needed to boot and I'm not sure of the relationship between the single core in most of the chips and the 4 documented interrupts. 9. Numerous cosmetic changes based on Andreas Färber's feedback. Differences from v1: 1. v1 only really supported two specific chips that were known at the time of submitting that patch series. Since then it's become apparent that there are a few families of SoCs based on the same ARMv7 core, clk blocks, interrupt controllers etc and this v2 attempts to make support more generic so in the future more SoCs from this lineage can be added. Support for some other chips is already in progress and will follow. 2. v1 only added support for the BreadBee boards that I have been working on. v2 also adds support for a readily available car dash camera. 3. Support for the BreadBee board has been split into two top level dts to cleanly support if either the msc313 or msc313e is mounted on the board. The chips are pin compatible but some of the internal hardware is different. The u-boot port for these SoCs can detect which chip it is running on and select the right dts so the user doesn't have to care which chip is mounted on their board. Daniel Palmer (12): dt-bindings: vendor-prefixes: Add mstar vendor prefix dt-bindings: vendor-prefixes: Add sstar vendor prefix dt-bindings: vendor-prefixes: Add 70mai vendor prefix dt-bindings: vendor-prefixes: Add thingy.jp prefix dt-bindings: dt-bindings: arm: Add mstar YAML schema ARM: mstar: Add machine for MStar/Sigmastar Armv7 SoCs ARM: mstar: Add binding details for mstar,l3bridge ARM: mstar: Add Armv7 base dtsi ARM: mstar: Add infinity/infinity3 family dtsis ARM: mstar: Add mercury5 series dtsis ARM: mstar: Add dts for msc313(e) based BreadBee boards ARM: mstar: Add dts for 70mai midrive d08 .../devicetree/bindings/arm/mstar.yaml | 33 ++++++++ .../bindings/misc/mstar,l3bridge.yaml | 44 ++++++++++ .../devicetree/bindings/vendor-prefixes.yaml | 8 ++ MAINTAINERS | 11 +++ arch/arm/Kconfig | 2 + arch/arm/Makefile | 1 + arch/arm/boot/dts/Makefile | 4 + .../dts/infinity-msc313-breadbee_crust.dts | 25 ++++++ arch/arm/boot/dts/infinity-msc313.dtsi | 14 ++++ arch/arm/boot/dts/infinity.dtsi | 7 ++ .../boot/dts/infinity3-msc313e-breadbee.dts | 25 ++++++ arch/arm/boot/dts/infinity3-msc313e.dtsi | 14 ++++ arch/arm/boot/dts/infinity3.dtsi | 7 ++ .../boot/dts/mercury5-ssc8336n-midrive08.dts | 25 ++++++ arch/arm/boot/dts/mercury5-ssc8336n.dtsi | 14 ++++ arch/arm/boot/dts/mercury5.dtsi | 7 ++ arch/arm/boot/dts/mstar-v7.dtsi | 83 +++++++++++++++++++ arch/arm/mach-mstar/Kconfig | 26 ++++++ arch/arm/mach-mstar/Makefile | 1 + arch/arm/mach-mstar/mstarv7.c | 80 ++++++++++++++++++ 20 files changed, 431 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/mstar.yaml create mode 100644 Documentation/devicetree/bindings/misc/mstar,l3bridge.yaml create mode 100644 arch/arm/boot/dts/infinity-msc313-breadbee_crust.dts create mode 100644 arch/arm/boot/dts/infinity-msc313.dtsi create mode 100644 arch/arm/boot/dts/infinity.dtsi create mode 100644 arch/arm/boot/dts/infinity3-msc313e-breadbee.dts create mode 100644 arch/arm/boot/dts/infinity3-msc313e.dtsi create mode 100644 arch/arm/boot/dts/infinity3.dtsi create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n-midrive08.dts create mode 100644 arch/arm/boot/dts/mercury5-ssc8336n.dtsi create mode 100644 arch/arm/boot/dts/mercury5.dtsi create mode 100644 arch/arm/boot/dts/mstar-v7.dtsi create mode 100644 arch/arm/mach-mstar/Kconfig create mode 100644 arch/arm/mach-mstar/Makefile create mode 100644 arch/arm/mach-mstar/mstarv7.c