From patchwork Mon Nov 7 10:34:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kunihiko Hayashi X-Patchwork-Id: 13034234 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 smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 8516EC43219 for ; Mon, 7 Nov 2022 10:34:20 +0000 (UTC) Received: by smtp.kernel.org (Postfix) id 48D0AC433D7; Mon, 7 Nov 2022 10:34:20 +0000 (UTC) Received: from mx.socionext.com (mx.socionext.com [202.248.49.38]) by smtp.kernel.org (Postfix) with ESMTP id 4B184C4314F; Mon, 7 Nov 2022 10:34:17 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 smtp.kernel.org 4B184C4314F Authentication-Results: smtp.kernel.org; dmarc=none (p=none dis=none) header.from=socionext.com Authentication-Results: smtp.kernel.org; spf=pass smtp.mailfrom=socionext.com Received: from unknown (HELO iyokan2-ex.css.socionext.com) ([172.31.9.54]) by mx.socionext.com with ESMTP; 07 Nov 2022 19:34:15 +0900 Received: from mail.mfilter.local (m-filter-2 [10.213.24.62]) by iyokan2-ex.css.socionext.com (Postfix) with ESMTP id 347E920584CE; Mon, 7 Nov 2022 19:34:15 +0900 (JST) Received: from 172.31.9.51 (172.31.9.51) by m-FILTER with ESMTP; Mon, 7 Nov 2022 19:34:15 +0900 Received: from plum.e01.socionext.com (unknown [10.212.243.119]) by kinkan2.css.socionext.com (Postfix) with ESMTP id A22CBB62B3; Mon, 7 Nov 2022 19:34:14 +0900 (JST) From: Kunihiko Hayashi To: Rob Herring , Krzysztof Kozlowski , Arnd Bergmann , Olof Johansson , Masami Hiramatsu List-Id: Cc: soc@kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Kunihiko Hayashi Subject: [PATCH v2 1/5] dt-bindings: arm: uniphier: Add system controller bindings Date: Mon, 7 Nov 2022 19:34:06 +0900 Message-Id: <20221107103410.3443-2-hayashi.kunihiko@socionext.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221107103410.3443-1-hayashi.kunihiko@socionext.com> References: <20221107103410.3443-1-hayashi.kunihiko@socionext.com> MIME-Version: 1.0 Add DT binding schema for system controller implemented in UniPhier SoCs. This describes that the nodes defined here are treated as "syscon". Signed-off-by: Kunihiko Hayashi --- .../socionext/socionext,uniphier-sysctrl.yaml | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/socionext/socionext,uniphier-sysctrl.yaml diff --git a/Documentation/devicetree/bindings/arm/socionext/socionext,uniphier-sysctrl.yaml b/Documentation/devicetree/bindings/arm/socionext/socionext,uniphier-sysctrl.yaml new file mode 100644 index 000000000000..be7cf72c232e --- /dev/null +++ b/Documentation/devicetree/bindings/arm/socionext/socionext,uniphier-sysctrl.yaml @@ -0,0 +1,92 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/arm/socionext/socionext,uniphier-sysctrl.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Socionext UniPhier system controller + +maintainers: + - Kunihiko Hayashi + +description: |+ + This describes the devicetree bindings for system controller + implemented on Socionext UniPhier SoCs. + +properties: + compatible: + oneOf: + - items: + - enum: + # sysctrl + - socionext,uniphier-ld4-sysctrl + - socionext,uniphier-pro4-sysctrl + - socionext,uniphier-pro5-sysctrl + - socionext,uniphier-pxs2-sysctrl + - socionext,uniphier-ld6b-sysctrl + - socionext,uniphier-sld8-sysctrl + - socionext,uniphier-ld11-sysctrl + - socionext,uniphier-ld20-sysctrl + - socionext,uniphier-pxs3-sysctrl + - socionext,uniphier-nx1-sysctrl + - socionext,uniphier-sysctrl + # soc-glue + - socionext,uniphier-ld4-soc-glue + - socionext,uniphier-pro4-soc-glue + - socionext,uniphier-pro5-soc-glue + - socionext,uniphier-pxs2-soc-glue + - socionext,uniphier-ld6b-soc-glue + - socionext,uniphier-sld8-soc-glue + - socionext,uniphier-ld11-soc-glue + - socionext,uniphier-ld20-soc-glue + - socionext,uniphier-pxs3-soc-glue + - socionext,uniphier-nx1-soc-glue + - socionext,uniphier-soc-glue + # perictrl + - socionext,uniphier-ld4-perictrl + - socionext,uniphier-pro4-perictrl + - socionext,uniphier-pro5-perictrl + - socionext,uniphier-pxs2-perictrl + - socionext,uniphier-ld6b-perictrl + - socionext,uniphier-sld8-perictrl + - socionext,uniphier-ld11-perictrl + - socionext,uniphier-ld20-perictrl + - socionext,uniphier-pxs3-perictrl + - socionext,uniphier-nx1-perictrl + - socionext,uniphier-perictrl + # sdctrl + - socionext,uniphier-ld4-sdctrl + - socionext,uniphier-pro4-sdctrl + - socionext,uniphier-pro5-sdctrl + - socionext,uniphier-pxs2-sdctrl + - socionext,uniphier-ld6b-sdctrl + - socionext,uniphier-sld8-sdctrl + - socionext,uniphier-ld11-sdctrl + - socionext,uniphier-ld20-sdctrl + - socionext,uniphier-pxs3-sdctrl + - socionext,uniphier-nx1-sdctrl + - socionext,uniphier-sdctrl + # mioctrl + - socionext,uniphier-ld4-mioctrl + - socionext,uniphier-pro4-mioctrl + - socionext,uniphier-sld8-mioctrl + - socionext,uniphier-ld11-mioctrl + - socionext,uniphier-mioctrl + # adamv + - socionext,uniphier-ld11-adamv + - socionext,uniphier-ld20-adamv + - socionext,uniphier-adamv + - const: simple-mfd + - const: syscon + + reg: + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: + type: object + +... From patchwork Mon Nov 7 10:34:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kunihiko Hayashi X-Patchwork-Id: 13034233 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 smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 3E892C4321E for ; Mon, 7 Nov 2022 10:34:21 +0000 (UTC) Received: by smtp.kernel.org (Postfix) id 23F3DC433B5; Mon, 7 Nov 2022 10:34:21 +0000 (UTC) Received: from mx.socionext.com (mx.socionext.com [202.248.49.38]) by smtp.kernel.org (Postfix) with ESMTP id 9F520C433D6; Mon, 7 Nov 2022 10:34:19 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 smtp.kernel.org 9F520C433D6 Authentication-Results: smtp.kernel.org; dmarc=none (p=none dis=none) header.from=socionext.com Authentication-Results: smtp.kernel.org; spf=pass smtp.mailfrom=socionext.com Received: from unknown (HELO iyokan2-ex.css.socionext.com) ([172.31.9.54]) by mx.socionext.com with ESMTP; 07 Nov 2022 19:34:15 +0900 Received: from mail.mfilter.local (m-filter-1 [10.213.24.61]) by iyokan2-ex.css.socionext.com (Postfix) with ESMTP id B87B720584CE; Mon, 7 Nov 2022 19:34:15 +0900 (JST) Received: from 172.31.9.51 (172.31.9.51) by m-FILTER with ESMTP; Mon, 7 Nov 2022 19:34:15 +0900 Received: from plum.e01.socionext.com (unknown [10.212.243.119]) by kinkan2.css.socionext.com (Postfix) with ESMTP id 70438B62A4; Mon, 7 Nov 2022 19:34:15 +0900 (JST) From: Kunihiko Hayashi To: Rob Herring , Krzysztof Kozlowski , Arnd Bergmann , Olof Johansson , Masami Hiramatsu List-Id: Cc: soc@kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Kunihiko Hayashi , Krzysztof Kozlowski Subject: [PATCH v2 2/5] dt-bindings: arm: uniphier: Add Pro5 boards Date: Mon, 7 Nov 2022 19:34:07 +0900 Message-Id: <20221107103410.3443-3-hayashi.kunihiko@socionext.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221107103410.3443-1-hayashi.kunihiko@socionext.com> References: <20221107103410.3443-1-hayashi.kunihiko@socionext.com> MIME-Version: 1.0 Add compatible string for Pro5 EP-Core board and ProEX board support. Signed-off-by: Kunihiko Hayashi Acked-by: Krzysztof Kozlowski --- .../devicetree/bindings/arm/socionext/uniphier.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/socionext/uniphier.yaml b/Documentation/devicetree/bindings/arm/socionext/uniphier.yaml index 8c0e91658474..c2cea1c90f3c 100644 --- a/Documentation/devicetree/bindings/arm/socionext/uniphier.yaml +++ b/Documentation/devicetree/bindings/arm/socionext/uniphier.yaml @@ -26,6 +26,12 @@ properties: - socionext,uniphier-pro4-ref - socionext,uniphier-pro4-sanji - const: socionext,uniphier-pro4 + - description: Pro5 SoC boards + items: + - enum: + - socionext,uniphier-pro5-epcore + - socionext,uniphier-pro5-proex + - const: socionext,uniphier-pro5 - description: sLD8 SoC boards items: - enum: From patchwork Mon Nov 7 10:34:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kunihiko Hayashi X-Patchwork-Id: 13034235 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 smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 3420FC43217 for ; Mon, 7 Nov 2022 10:34:20 +0000 (UTC) Received: by smtp.kernel.org (Postfix) id F3174C433C1; Mon, 7 Nov 2022 10:34:19 +0000 (UTC) Received: from mx.socionext.com (mx.socionext.com [202.248.49.38]) by smtp.kernel.org (Postfix) with ESMTP id 3C442C433D7; Mon, 7 Nov 2022 10:34:17 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 smtp.kernel.org 3C442C433D7 Authentication-Results: smtp.kernel.org; dmarc=none (p=none dis=none) header.from=socionext.com Authentication-Results: smtp.kernel.org; spf=pass smtp.mailfrom=socionext.com Received: from unknown (HELO iyokan2-ex.css.socionext.com) ([172.31.9.54]) by mx.socionext.com with ESMTP; 07 Nov 2022 19:34:16 +0900 Received: from mail.mfilter.local (m-filter-1 [10.213.24.61]) by iyokan2-ex.css.socionext.com (Postfix) with ESMTP id BD28A20584CE; Mon, 7 Nov 2022 19:34:16 +0900 (JST) Received: from 172.31.9.51 (172.31.9.51) by m-FILTER with ESMTP; Mon, 7 Nov 2022 19:34:16 +0900 Received: from plum.e01.socionext.com (unknown [10.212.243.119]) by kinkan2.css.socionext.com (Postfix) with ESMTP id 2AE7AB62A4; Mon, 7 Nov 2022 19:34:16 +0900 (JST) From: Kunihiko Hayashi To: Rob Herring , Krzysztof Kozlowski , Arnd Bergmann , Olof Johansson , Masami Hiramatsu List-Id: Cc: soc@kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Kunihiko Hayashi Subject: [PATCH v2 3/5] ARM: dts: uniphier: Add Pro5 board support Date: Mon, 7 Nov 2022 19:34:08 +0900 Message-Id: <20221107103410.3443-4-hayashi.kunihiko@socionext.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221107103410.3443-1-hayashi.kunihiko@socionext.com> References: <20221107103410.3443-1-hayashi.kunihiko@socionext.com> MIME-Version: 1.0 Initial version of devicetree sources for Pro5 EPCORE and ProEX boards. Pro5 EPCORE board is a kind of Pro5 reference board with PCIe endpoint card edge connector. ProEX board also has PCIe endpoint card edge, and some peripherals are shared with other system and can't be used in Linux. Signed-off-by: Kunihiko Hayashi --- arch/arm/boot/dts/Makefile | 2 + arch/arm/boot/dts/uniphier-pro5-epcore.dts | 76 ++++++++++++++++++++++ arch/arm/boot/dts/uniphier-pro5-proex.dts | 59 +++++++++++++++++ 3 files changed, 137 insertions(+) create mode 100644 arch/arm/boot/dts/uniphier-pro5-epcore.dts create mode 100644 arch/arm/boot/dts/uniphier-pro5-proex.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 13ceb456e00f..474eba34ea7a 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -1456,6 +1456,8 @@ dtb-$(CONFIG_ARCH_UNIPHIER) += \ uniphier-pro4-ace.dtb \ uniphier-pro4-ref.dtb \ uniphier-pro4-sanji.dtb \ + uniphier-pro5-epcore.dtb \ + uniphier-pro5-proex.dtb \ uniphier-pxs2-gentil.dtb \ uniphier-pxs2-vodka.dtb \ uniphier-sld8-ref.dtb diff --git a/arch/arm/boot/dts/uniphier-pro5-epcore.dts b/arch/arm/boot/dts/uniphier-pro5-epcore.dts new file mode 100644 index 000000000000..ed759dcc3216 --- /dev/null +++ b/arch/arm/boot/dts/uniphier-pro5-epcore.dts @@ -0,0 +1,76 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Device Tree Source for UniPhier Pro5 EP-CORE Board (Pro5-PCIe_EP-CORE) + * + * Copyright (C) 2021 Socionext Inc. + * Author: Kunihiko Hayashi + */ + +/dts-v1/; +#include "uniphier-pro5.dtsi" +#include "uniphier-support-card.dtsi" + +/ { + model = "UniPhier Pro5 EP-CORE Board"; + compatible = "socionext,uniphier-pro5-epcore", "socionext,uniphier-pro5"; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + aliases { + serial0 = &serial0; + serial1 = &serial1; + serial2 = &serial2; + i2c0 = &i2c0; + }; + + memory@80000000 { + device_type = "memory"; + reg = <0x80000000 0x40000000>; + }; +}; + +ðsc { + interrupts = <1 IRQ_TYPE_LEVEL_LOW>; +}; + +&serialsc { + interrupts = <1 IRQ_TYPE_LEVEL_LOW>; +}; + +&serial0 { + status = "okay"; +}; + +&serial1 { + status = "okay"; +}; + +&serial2 { + status = "okay"; +}; + +&i2c0 { + status = "okay"; +}; + +&usb0 { + status = "okay"; +}; + +&usb1 { + status = "okay"; +}; + +&emmc { + status = "okay"; +}; + +&sd { + status = "okay"; +}; + +&pcie_ep { + status = "okay"; +}; diff --git a/arch/arm/boot/dts/uniphier-pro5-proex.dts b/arch/arm/boot/dts/uniphier-pro5-proex.dts new file mode 100644 index 000000000000..2cfb84f73cc0 --- /dev/null +++ b/arch/arm/boot/dts/uniphier-pro5-proex.dts @@ -0,0 +1,59 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Device Tree Source for UniPhier Pro5 ProEX Board + * + * Copyright (C) 2021 Socionext Inc. + * Author: Kunihiko Hayashi + */ + +/dts-v1/; +#include "uniphier-pro5.dtsi" + +/ { + model = "UniPhier Pro5 ProEX Board"; + compatible = "socionext,uniphier-pro5-proex", "socionext,uniphier-pro5"; + + chosen { + stdout-path = "serial2:115200n8"; + }; + + aliases { + serial1 = &serial1; + serial2 = &serial2; + i2c0 = &i2c0; + i2c1 = &i2c3; + }; + + memory@80000000 { + device_type = "memory"; + reg = <0x80000000 0x40000000>; + }; +}; + +&serial1 { + status = "okay"; +}; + +&serial2 { + status = "okay"; +}; + +&i2c0 { + status = "okay"; +}; + +&i2c3 { + status = "okay"; +}; + +&usb1 { + status = "okay"; +}; + +&emmc { + status = "okay"; +}; + +&pcie_ep { + status = "okay"; +}; From patchwork Mon Nov 7 10:34:09 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kunihiko Hayashi X-Patchwork-Id: 13034236 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 smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 4C877C433FE for ; Mon, 7 Nov 2022 10:34:22 +0000 (UTC) Received: by smtp.kernel.org (Postfix) id 34EF9C433D6; Mon, 7 Nov 2022 10:34:22 +0000 (UTC) Received: from mx.socionext.com (mx.socionext.com [202.248.49.38]) by smtp.kernel.org (Postfix) with ESMTP id 227A5C43470; Mon, 7 Nov 2022 10:34:19 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 smtp.kernel.org 227A5C43470 Authentication-Results: smtp.kernel.org; dmarc=none (p=none dis=none) header.from=socionext.com Authentication-Results: smtp.kernel.org; spf=pass smtp.mailfrom=socionext.com Received: from unknown (HELO kinkan2-ex.css.socionext.com) ([172.31.9.52]) by mx.socionext.com with ESMTP; 07 Nov 2022 19:34:17 +0900 Received: from mail.mfilter.local (m-filter-2 [10.213.24.62]) by kinkan2-ex.css.socionext.com (Postfix) with ESMTP id 439572059027; Mon, 7 Nov 2022 19:34:17 +0900 (JST) Received: from 172.31.9.51 (172.31.9.51) by m-FILTER with ESMTP; Mon, 7 Nov 2022 19:34:17 +0900 Received: from plum.e01.socionext.com (unknown [10.212.243.119]) by kinkan2.css.socionext.com (Postfix) with ESMTP id BACA5B62A4; Mon, 7 Nov 2022 19:34:16 +0900 (JST) From: Kunihiko Hayashi To: Rob Herring , Krzysztof Kozlowski , Arnd Bergmann , Olof Johansson , Masami Hiramatsu List-Id: Cc: soc@kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Kunihiko Hayashi , Krzysztof Kozlowski Subject: [PATCH v2 4/5] dt-bindings: arm: uniphier: Add NX1 boards Date: Mon, 7 Nov 2022 19:34:09 +0900 Message-Id: <20221107103410.3443-5-hayashi.kunihiko@socionext.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221107103410.3443-1-hayashi.kunihiko@socionext.com> References: <20221107103410.3443-1-hayashi.kunihiko@socionext.com> MIME-Version: 1.0 Add compatible string for NX1 SoM board, evaluation board, and reference board support. Signed-off-by: Kunihiko Hayashi Acked-by: Krzysztof Kozlowski --- .../devicetree/bindings/arm/socionext/uniphier.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/socionext/uniphier.yaml b/Documentation/devicetree/bindings/arm/socionext/uniphier.yaml index c2cea1c90f3c..eb4401067683 100644 --- a/Documentation/devicetree/bindings/arm/socionext/uniphier.yaml +++ b/Documentation/devicetree/bindings/arm/socionext/uniphier.yaml @@ -66,5 +66,12 @@ properties: - enum: - socionext,uniphier-pxs3-ref - const: socionext,uniphier-pxs3 + - description: NX1 SoC boards + items: + - enum: + - socionext,uniphier-nx1-evb + - socionext,uniphier-nx1-ref + - socionext,uniphier-nx1-som + - const: socionext,uniphier-nx1 additionalProperties: true From patchwork Mon Nov 7 10:34:10 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kunihiko Hayashi X-Patchwork-Id: 13034237 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 smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 61301C43219 for ; Mon, 7 Nov 2022 10:34:23 +0000 (UTC) Received: by smtp.kernel.org (Postfix) id 4A374C4347C; Mon, 7 Nov 2022 10:34:23 +0000 (UTC) Received: from mx.socionext.com (mx.socionext.com [202.248.49.38]) by smtp.kernel.org (Postfix) with ESMTP id 7E26EC43144; Mon, 7 Nov 2022 10:34:20 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 smtp.kernel.org 7E26EC43144 Authentication-Results: smtp.kernel.org; dmarc=none (p=none dis=none) header.from=socionext.com Authentication-Results: smtp.kernel.org; spf=pass smtp.mailfrom=socionext.com Received: from unknown (HELO kinkan2-ex.css.socionext.com) ([172.31.9.52]) by mx.socionext.com with ESMTP; 07 Nov 2022 19:34:17 +0900 Received: from mail.mfilter.local (m-filter-2 [10.213.24.62]) by kinkan2-ex.css.socionext.com (Postfix) with ESMTP id C1C002059027; Mon, 7 Nov 2022 19:34:17 +0900 (JST) Received: from 172.31.9.51 (172.31.9.51) by m-FILTER with ESMTP; Mon, 7 Nov 2022 19:34:17 +0900 Received: from plum.e01.socionext.com (unknown [10.212.243.119]) by kinkan2.css.socionext.com (Postfix) with ESMTP id 5F9B4B62A4; Mon, 7 Nov 2022 19:34:17 +0900 (JST) From: Kunihiko Hayashi To: Rob Herring , Krzysztof Kozlowski , Arnd Bergmann , Olof Johansson , Masami Hiramatsu List-Id: Cc: soc@kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Kunihiko Hayashi Subject: [PATCH v2 5/5] arm64: dts: uniphier: Add NX1 SoC and boards support Date: Mon, 7 Nov 2022 19:34:10 +0900 Message-Id: <20221107103410.3443-6-hayashi.kunihiko@socionext.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221107103410.3443-1-hayashi.kunihiko@socionext.com> References: <20221107103410.3443-1-hayashi.kunihiko@socionext.com> MIME-Version: 1.0 Initial version of devicetree sources for NX1 SoC and boards. NX1 SoC belongs to the UniPhier armv8 architecture platform, and is designed for IoT and AI/ML application fields. This SoC has four Cortex-A53 cores and basically peripherals compatible with the previous UniPhier SoCs: PCIe Gen2, USB3.1/2.0, eMMC/SD, 1G Ethernet, UART, GPIO, FI2C, SPI, DMAC, and Video Out. The SOM is a small module that has only the peripherals necessary for booting: UART, FI2C for EEPROM, eMMC and SD. The reference board has other peripherals and external LED IC, and is in conjunction with SOM. PCIe works as an endpoint as default. The EVB is a standalone board that has all supported peripherals. PCIe works as a host controller as default. This SoC has only 190MB of PCIe space, so the possible endpoint devices are limited, but it is assumed that the reference board will be connected. This devicetree has two restrictions: - SD cards that works at 1.8V are not supported, because the power supply switching function is in the system controller and needs to be controlled by the driver. - This SoC has two USB ports, each with an HS-PHY and an SS-PHY, however, DWC3 can only specify one HS-PHY and one SS-PHY, so the PHYs on the second port are not currently specified. Signed-off-by: Kunihiko Hayashi --- arch/arm64/boot/dts/socionext/Makefile | 3 + .../boot/dts/socionext/uniphier-nx1-evb.dts | 87 +++ .../boot/dts/socionext/uniphier-nx1-ref.dts | 109 +++ .../boot/dts/socionext/uniphier-nx1-som.dts | 54 ++ .../boot/dts/socionext/uniphier-nx1.dtsi | 702 ++++++++++++++++++ 5 files changed, 955 insertions(+) create mode 100644 arch/arm64/boot/dts/socionext/uniphier-nx1-evb.dts create mode 100644 arch/arm64/boot/dts/socionext/uniphier-nx1-ref.dts create mode 100644 arch/arm64/boot/dts/socionext/uniphier-nx1-som.dts create mode 100644 arch/arm64/boot/dts/socionext/uniphier-nx1.dtsi diff --git a/arch/arm64/boot/dts/socionext/Makefile b/arch/arm64/boot/dts/socionext/Makefile index 33989a9643ac..0f198888484a 100644 --- a/arch/arm64/boot/dts/socionext/Makefile +++ b/arch/arm64/boot/dts/socionext/Makefile @@ -5,6 +5,9 @@ dtb-$(CONFIG_ARCH_UNIPHIER) += \ uniphier-ld20-akebi96.dtb \ uniphier-ld20-global.dtb \ uniphier-ld20-ref.dtb \ + uniphier-nx1-evb.dtb \ + uniphier-nx1-ref.dtb \ + uniphier-nx1-som.dtb \ uniphier-pxs3-ref.dtb \ uniphier-pxs3-ref-gadget0.dtb \ uniphier-pxs3-ref-gadget1.dtb diff --git a/arch/arm64/boot/dts/socionext/uniphier-nx1-evb.dts b/arch/arm64/boot/dts/socionext/uniphier-nx1-evb.dts new file mode 100644 index 000000000000..381ec274d78f --- /dev/null +++ b/arch/arm64/boot/dts/socionext/uniphier-nx1-evb.dts @@ -0,0 +1,87 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +// +// Device Tree Source for UniPhier NX1 Evaluation Board +// +// Copyright (C) 2021 Socionext Inc. +// Author: Kunihiko Hayashi + +/dts-v1/; +#include "uniphier-nx1.dtsi" + +/ { + model = "UniPhier NX1 Evaluation Board"; + compatible = "socionext,uniphier-nx1-evb", "socionext,uniphier-nx1"; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + aliases { + serial0 = &serial0; + serial1 = &serial1; + serial2 = &serial2; + serial3 = &serial3; + spi0 = &spi0; + ethernet = ð + }; + + memory@20000000 { + device_type = "memory"; + reg = <0 0x20000000 1 0x00000000>; + }; +}; + +&refclk { + clock-frequency = <25000000>; +}; + +&serial0 { + status = "okay"; +}; + +&serial1 { + status = "okay"; +}; + +&serial2 { + status = "okay"; +}; + +&serial3 { + status = "okay"; +}; + +&spi0 { + status = "okay"; +}; + +ð { + status = "okay"; + phy-handle = <ðphy>; +}; + +&mdio { + ethphy: ethphy@0 { + reg = <0>; + }; +}; + +&usb { + status = "okay"; +}; + +&pcie { + status = "okay"; +}; + +&sd { + status = "okay"; +}; + +&pinctrl_sd { + sd { + pins = "SDCLK", "SDCMD", "SDDAT0", + "SDDAT1", "SDDAT2", "SDDAT3"; + bias-pull-up; + }; +}; diff --git a/arch/arm64/boot/dts/socionext/uniphier-nx1-ref.dts b/arch/arm64/boot/dts/socionext/uniphier-nx1-ref.dts new file mode 100644 index 000000000000..7c373eba7a81 --- /dev/null +++ b/arch/arm64/boot/dts/socionext/uniphier-nx1-ref.dts @@ -0,0 +1,109 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +// +// Device Tree Source for UniPhier NX1 Reference Board +// +// Copyright (C) 2021 Socionext Inc. +// Author: Kunihiko Hayashi + +/dts-v1/; +#include "uniphier-nx1-som.dts" + +/ { + model = "UniPhier NX1 Reference Board"; + compatible = "socionext,uniphier-nx1-ref", "socionext,uniphier-nx1"; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + aliases { + serial0 = &serial0; + serial1 = &serial1; + serial2 = &serial2; + i2c0 = &i2c0; + i2c1 = &i2c1; + i2c2 = &i2c2; + i2c3 = &i2c3; + spi0 = &spi0; + spi1 = &spi1; + ethernet = ð + }; + + leds { + compatible = "gpio-leds"; + led0 { + label = "user0"; + gpios = <&pca9536 0 GPIO_ACTIVE_LOW>; + }; + + led1 { + label = "user1"; + gpios = <&pca9536 1 GPIO_ACTIVE_LOW>; + }; + + led2 { + label = "user2"; + gpios = <&pca9536 2 GPIO_ACTIVE_LOW>; + }; + + led3 { + label = "user3"; + gpios = <&pca9536 3 GPIO_ACTIVE_LOW>; + }; + }; + +}; + +&serial1 { + status = "okay"; +}; + +&serial2 { + status = "okay"; +}; + +&spi0 { + status = "okay"; +}; + +&spi1 { + status = "okay"; +}; + +&i2c0 { + status = "okay"; + + pca9536: gpio@41 { + compatible = "ti,pca9536"; + reg = <0x41>; + gpio-controller; + #gpio-cells = <2>; + }; +}; + +&i2c2 { + status = "okay"; +}; + +&i2c3 { + status = "okay"; +}; + +ð { + status = "okay"; + phy-handle = <ðphy>; +}; + +&mdio { + ethphy: ethernet-phy@0 { + reg = <0>; + }; +}; + +&usb { + status = "okay"; +}; + +&pcie_ep { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/socionext/uniphier-nx1-som.dts b/arch/arm64/boot/dts/socionext/uniphier-nx1-som.dts new file mode 100644 index 000000000000..e55e482eca6a --- /dev/null +++ b/arch/arm64/boot/dts/socionext/uniphier-nx1-som.dts @@ -0,0 +1,54 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +// +// Device Tree Source for UniPhier NX1 SOM Board +// +// Copyright (C) 2021 Socionext Inc. +// Author: Kunihiko Hayashi + +/dts-v1/; +#include "uniphier-nx1.dtsi" + +/ { + model = "UniPhier NX1 SOM Board"; + compatible = "socionext,uniphier-nx1-som", "socionext,uniphier-nx1"; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + aliases { + serial0 = &serial0; + i2c1 = &i2c1; + }; + + memory@20000000 { + device_type = "memory"; + reg = <0 0x20000000 1 0x00000000>; + }; +}; + +&refclk { + clock-frequency = <25000000>; +}; + +&serial0 { + status = "okay"; +}; + +&i2c1 { + status = "okay"; + + eeprom@50 { + compatible = "st,24c64", "atmel,24c64"; + reg = <0x50>; + pagesize = <32>; + }; +}; + +&emmc { + status = "okay"; +}; + +&sd { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/socionext/uniphier-nx1.dtsi b/arch/arm64/boot/dts/socionext/uniphier-nx1.dtsi new file mode 100644 index 000000000000..fe9652b145cc --- /dev/null +++ b/arch/arm64/boot/dts/socionext/uniphier-nx1.dtsi @@ -0,0 +1,702 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +// +// Device Tree Source for UniPhier NX1 SoC +// +// Copyright (C) 2021 Socionext Inc. +// Author: Kunihiko Hayashi + +#include +#include +#include +#include + +/ { + compatible = "socionext,uniphier-nx1"; + #address-cells = <2>; + #size-cells = <2>; + interrupt-parent = <&gic>; + + cpus { + #address-cells = <2>; + #size-cells = <0>; + + cpu-map { + cluster0 { + core0 { + cpu = <&cpu0>; + }; + core1 { + cpu = <&cpu1>; + }; + core2 { + cpu = <&cpu2>; + }; + core3 { + cpu = <&cpu3>; + }; + }; + }; + + cpu0: cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a53"; + reg = <0 0x000>; + clocks = <&sys_clk 33>; + enable-method = "psci"; + next-level-cache = <&l2>; + operating-points-v2 = <&cluster0_opp>; + #cooling-cells = <2>; + }; + + cpu1: cpu@1 { + device_type = "cpu"; + compatible = "arm,cortex-a53"; + reg = <0 0x001>; + clocks = <&sys_clk 33>; + enable-method = "psci"; + next-level-cache = <&l2>; + operating-points-v2 = <&cluster0_opp>; + #cooling-cells = <2>; + }; + + cpu2: cpu@2 { + device_type = "cpu"; + compatible = "arm,cortex-a53"; + reg = <0 0x002>; + clocks = <&sys_clk 33>; + enable-method = "psci"; + next-level-cache = <&l2>; + operating-points-v2 = <&cluster0_opp>; + #cooling-cells = <2>; + }; + + cpu3: cpu@3 { + device_type = "cpu"; + compatible = "arm,cortex-a53"; + reg = <0 0x003>; + clocks = <&sys_clk 33>; + enable-method = "psci"; + next-level-cache = <&l2>; + operating-points-v2 = <&cluster0_opp>; + #cooling-cells = <2>; + }; + + l2: l2-cache { + compatible = "cache"; + }; + }; + + cluster0_opp: opp-table { + compatible = "operating-points-v2"; + opp-shared; + + opp-78125000 { + opp-hz = /bits/ 64 <78125000>; + clock-latency-ns = <300>; + }; + opp-156250000 { + opp-hz = /bits/ 64 <156250000>; + clock-latency-ns = <300>; + }; + opp-312500000 { + opp-hz = /bits/ 64 <312500000>; + clock-latency-ns = <300>; + }; + opp-625000000 { + opp-hz = /bits/ 64 <625000000>; + clock-latency-ns = <300>; + }; + opp-1250000000 { + opp-hz = /bits/ 64 <1250000000>; + clock-latency-ns = <300>; + }; + }; + + psci { + compatible = "arm,psci-1.0"; + method = "smc"; + }; + + clocks { + refclk: clock-ref { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-output-names = "ref"; + }; + }; + + emmc_pwrseq: emmc-pwrseq { + compatible = "mmc-pwrseq-emmc"; + reset-gpios = <&gpio UNIPHIER_GPIO_PORT(3, 0) GPIO_ACTIVE_LOW>; + }; + + timer { + compatible = "arm,armv8-timer"; + interrupts = , + , + , + ; + }; + + thermal-zones { + cpu-thermal { + polling-delay-passive = <250>; /* 250ms */ + polling-delay = <1000>; /* 1000ms */ + thermal-sensors = <&pvtctl>; + + trips { + cpu_crit: cpu-crit { + temperature = <120000>; /* 120C */ + hysteresis = <2000>; + type = "critical"; + }; + cpu_alert: cpu-alert { + temperature = <110000>; /* 110C */ + hysteresis = <2000>; + type = "passive"; + }; + }; + + cooling-maps { + map0 { + trip = <&cpu_alert>; + cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + }; + }; + }; + }; + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + secure-memory@21000000 { + reg = <0x0 0x21000000 0x0 0x01000000>; + no-map; + }; + }; + + soc@0 { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0 0 0xffffffff>; + + sysctrl: syscon@11840000 { + compatible = "socionext,uniphier-nx1-sysctrl", + "simple-mfd", "syscon"; + reg = <0x11840000 0x10000>; + + sys_clk: clock-controller { + compatible = "socionext,uniphier-nx1-clock"; + #clock-cells = <1>; + }; + + sys_rst: reset-controller { + compatible = "socionext,uniphier-nx1-reset"; + #reset-cells = <1>; + }; + + watchdog { + compatible = "socionext,uniphier-wdt"; + }; + + pvtctl: thermal-sensor { + compatible = "socionext,uniphier-nx1-thermal"; + interrupts = ; + #thermal-sensor-cells = <0>; + socionext,tmod-calibration = <0x0f22 0x68ee>; + }; + }; + + spi0: spi@14006000 { + compatible = "socionext,uniphier-scssi"; + reg = <0x14006000 0x100>; + #address-cells = <1>; + #size-cells = <0>; + interrupts = ; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_spi0>; + clocks = <&peri_clk 11>; + resets = <&peri_rst 11>; + status = "disabled"; + }; + + spi1: spi@14006100 { + compatible = "socionext,uniphier-scssi"; + reg = <0x14006100 0x100>; + #address-cells = <1>; + #size-cells = <0>; + interrupts = ; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_spi1>; + clocks = <&peri_clk 12>; + resets = <&peri_rst 12>; + status = "disabled"; + }; + + serial0: serial@14006800 { + compatible = "socionext,uniphier-uart"; + reg = <0x14006800 0x40>; + interrupts = ; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_uart0>; + clocks = <&peri_clk 0>; + resets = <&peri_rst 0>; + status = "disabled"; + }; + + serial1: serial@14006900 { + compatible = "socionext,uniphier-uart"; + reg = <0x14006900 0x40>; + interrupts = ; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_uart1>; + clocks = <&peri_clk 1>; + resets = <&peri_rst 1>; + status = "disabled"; + }; + + serial2: serial@14006a00 { + compatible = "socionext,uniphier-uart"; + reg = <0x14006a00 0x40>; + interrupts = ; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_uart2>; + clocks = <&peri_clk 2>; + resets = <&peri_rst 2>; + status = "disabled"; + }; + + serial3: serial@14006b00 { + compatible = "socionext,uniphier-uart"; + reg = <0x14006b00 0x40>; + interrupts = ; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_uart3>; + clocks = <&peri_clk 3>; + resets = <&peri_rst 3>; + status = "disabled"; + }; + + gpio: gpio@14007000 { + compatible = "socionext,uniphier-gpio"; + reg = <0x14007000 0x200>; + interrupt-parent = <&aidet>; + interrupt-controller; + #interrupt-cells = <2>; + gpio-controller; + #gpio-cells = <2>; + gpio-ranges = <&pinctrl 0 0 0>, + <&pinctrl 49 0 0>, + <&pinctrl 53 0 0>, + <&pinctrl 96 0 0>, + <&pinctrl 120 0 0>; + gpio-ranges-group-names = "gpio_range0", + "gpio_range1", + "gpio_range2", + "gpio_range3", + "gpio_range4"; + ngpios = <126>; + socionext,interrupt-ranges = <0 48 6>; + }; + + eth: ethernet@15000000 { + compatible = "socionext,uniphier-nx1-ave4"; + reg = <0x15000000 0x8500>; + interrupts = ; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_ether_rgmii>; + clock-names = "ether"; + clocks = <&sys_clk 6>; + reset-names = "ether"; + resets = <&sys_rst 6>; + phy-mode = "rgmii-id"; + local-mac-address = [00 00 00 00 00 00]; + socionext,syscon-phy-mode = <&soc_glue 0>; + status = "disabled"; + + mdio: mdio { + #address-cells = <1>; + #size-cells = <0>; + }; + }; + + usb: usb@15a00000 { + compatible = "snps,dwc3"; + reg = <0x15a00000 0xcd00>; + interrupt-names = "host"; + interrupts = ; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usb0>, <&pinctrl_usb1>; + clock-names = "ref", "bus_early", "suspend"; + clocks = <&sys_clk 12>, <&sys_clk 12>, <&sys_clk 12>; + resets = <&usb_rst 15>; + phy-names = "usb2-phy", "usb3-phy"; + phys = <&usb_hsphy0>, <&usb_ssphy0>; + dr_mode = "host"; + status = "disabled"; + }; + + usb-controller@15b00000 { + compatible = "simple-mfd"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x15b00000 0x400>; + + usb_rst: reset-controller@0 { + compatible = "socionext,uniphier-nx1-usb3-reset"; + reg = <0x0 0x4>; + #reset-cells = <1>; + clock-names = "link"; + clocks = <&sys_clk 12>; + reset-names = "link"; + resets = <&sys_rst 12>; + }; + + usb_vbus0: regulator@100 { + compatible = "socionext,uniphier-nx1-usb3-regulator"; + reg = <0x100 0x10>; + clock-names = "link"; + clocks = <&sys_clk 12>; + reset-names = "link"; + resets = <&sys_rst 12>; + }; + + usb_vbus1: regulator@110 { + compatible = "socionext,uniphier-nx1-usb3-regulator"; + reg = <0x110 0x10>; + clock-names = "link"; + clocks = <&sys_clk 12>; + reset-names = "link"; + resets = <&sys_rst 12>; + }; + + usb_hsphy0: phy@200 { + compatible = "socionext,uniphier-nx1-usb3-hsphy"; + reg = <0x200 0x10>; + #phy-cells = <0>; + clock-names = "link", "phy", "phy-ext"; + clocks = <&sys_clk 12>, <&sys_clk 16>, + <&sys_clk 13>; + reset-names = "link", "phy"; + resets = <&sys_rst 12>, <&sys_rst 16>; + vbus-supply = <&usb_vbus0>; + }; + + usb_hsphy1: phy@210 { + compatible = "socionext,uniphier-nx1-usb3-hsphy"; + reg = <0x210 0x10>; + #phy-cells = <0>; + clock-names = "link", "phy", "phy-ext"; + clocks = <&sys_clk 12>, <&sys_clk 16>, + <&sys_clk 13>; + reset-names = "link", "phy"; + resets = <&sys_rst 12>, <&sys_rst 16>; + vbus-supply = <&usb_vbus1>; + }; + + usb_ssphy0: phy@300 { + compatible = "socionext,uniphier-nx1-usb3-ssphy"; + reg = <0x300 0x10>; + #phy-cells = <0>; + clock-names = "link", "phy", "phy-ext"; + clocks = <&sys_clk 12>, <&sys_clk 17>, + <&sys_clk 13>; + reset-names = "link", "phy"; + resets = <&sys_rst 12>, <&sys_rst 17>; + vbus-supply = <&usb_vbus0>; + }; + + usb_ssphy1: phy@310 { + compatible = "socionext,uniphier-nx1-usb3-ssphy"; + reg = <0x310 0x10>; + #phy-cells = <0>; + clock-names = "link", "phy", "phy-ext"; + clocks = <&sys_clk 12>, <&sys_clk 18>, + <&sys_clk 13>; + reset-names = "link", "phy"; + resets = <&sys_rst 12>, <&sys_rst 18>; + vbus-supply = <&usb_vbus1>; + }; + }; + + pcie: pcie@16000000 { + compatible = "socionext,uniphier-pcie"; + reg-names = "dbi", "link", "config", "atu"; + reg = <0x16000000 0x1000>, <0x179a0000 0x10000>, + <0x0fff0000 0x10000>, <0x16300000 0x1000>; + #address-cells = <3>; + #size-cells = <2>; + clocks = <&sys_clk 24>; + resets = <&sys_rst 24>; + num-lanes = <2>; + num-viewport = <1>; + bus-range = <0x0 0xff>; + device_type = "pci"; + ranges = + /* downstream I/O */ + <0x81000000 0 0x00000000 0x0ffe0000 0 0x00010000>, + /* non-prefetchable memory */ + <0x82000000 0 0x20000000 0x04200000 0 0x0bde0000>; + #interrupt-cells = <1>; + interrupt-names = "dma", "msi"; + interrupts = , + ; + interrupt-map-mask = <0 0 0 7>; + interrupt-map = <0 0 0 1 &pcie_intc 0>, /* INTA */ + <0 0 0 2 &pcie_intc 1>, /* INTB */ + <0 0 0 3 &pcie_intc 2>, /* INTC */ + <0 0 0 4 &pcie_intc 3>; /* INTD */ + phy-names = "pcie-phy"; + phys = <&pcie_phy>; + status = "disabled"; + + pcie_intc: legacy-interrupt-controller { + interrupt-controller; + #interrupt-cells = <1>; + interrupt-parent = <&gic>; + interrupts = ; + }; + }; + + pcie_ep: pcie-ep@16000000 { + compatible = "socionext,uniphier-nx1-pcie-ep"; + reg-names = "dbi", "dbi2", "link", "addr_space", "atu"; + reg = <0x16000000 0x1000>, <0x16100000 0x1000>, + <0x179a0000 0x10000>, <0x04200000 0xbe00000>, + <0x16300000 0x1000>; + clock-names = "link"; + clocks = <&sys_clk 24>; + reset-names = "link"; + resets = <&sys_rst 24>; + num-ib-windows = <16>; + num-ob-windows = <16>; + num-lanes = <2>; + phy-names = "pcie-phy"; + phys = <&pcie_phy>; + status = "disabled"; + }; + + pcie_phy: phy@179b8000 { + compatible = "socionext,uniphier-nx1-pcie-phy"; + reg = <0x179b8000 0x4000>; + #phy-cells = <0>; + clock-names = "link"; + clocks = <&sys_clk 24>; + reset-names = "link"; + resets = <&sys_rst 24>; + socionext,syscon = <&sysctrl>; + }; + + i2c0: i2c@18780000 { + compatible = "socionext,uniphier-fi2c"; + reg = <0x18780000 0x80>; + #address-cells = <1>; + #size-cells = <0>; + interrupts = ; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c0>; + clocks = <&peri_clk 4>; + resets = <&peri_rst 4>; + clock-frequency = <400000>; + status = "disabled"; + }; + + i2c1: i2c@18781000 { + compatible = "socionext,uniphier-fi2c"; + reg = <0x18781000 0x80>; + #address-cells = <1>; + #size-cells = <0>; + interrupts = ; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c1>; + clocks = <&peri_clk 5>; + resets = <&peri_rst 5>; + clock-frequency = <400000>; + status = "disabled"; + }; + + i2c2: i2c@18782000 { + compatible = "socionext,uniphier-fi2c"; + reg = <0x18782000 0x80>; + #address-cells = <1>; + #size-cells = <0>; + interrupts = ; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c2>; + clocks = <&peri_clk 6>; + resets = <&peri_rst 6>; + clock-frequency = <400000>; + status = "disabled"; + }; + + i2c3: i2c@18783000 { + compatible = "socionext,uniphier-fi2c"; + reg = <0x18783000 0x80>; + #address-cells = <1>; + #size-cells = <0>; + interrupts = ; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c3>; + clocks = <&peri_clk 7>; + resets = <&peri_rst 7>; + clock-frequency = <400000>; + status = "disabled"; + }; + + i2c4: i2c@18784000 { + compatible = "socionext,uniphier-fi2c"; + reg = <0x18784000 0x80>; + #address-cells = <1>; + #size-cells = <0>; + interrupts = ; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c4>; + clocks = <&peri_clk 8>; + resets = <&peri_rst 8>; + clock-frequency = <100000>; + status = "disabled"; + }; + + i2c5: i2c@18785000 { + compatible = "socionext,uniphier-fi2c"; + reg = <0x18785000 0x80>; + #address-cells = <1>; + #size-cells = <0>; + interrupts = ; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c5>; + clocks = <&peri_clk 9>; + resets = <&peri_rst 9>; + clock-frequency = <100000>; + status = "disabled"; + }; + + i2c6: i2c@18786000 { + compatible = "socionext,uniphier-fi2c"; + reg = <0x18786000 0x80>; + #address-cells = <1>; + #size-cells = <0>; + interrupts = ; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c6>; + clocks = <&peri_clk 10>; + resets = <&peri_rst 10>; + clock-frequency = <100000>; + status = "disabled"; + }; + + syscon@19810000 { + compatible = "socionext,uniphier-nx1-sdctrl", + "simple-mfd", "syscon"; + reg = <0x19810000 0x400>; + + sd_clk: clock-controller { + compatible = "socionext,uniphier-nx1-sd-clock"; + #clock-cells = <1>; + }; + + sd_rst: reset-controller { + compatible = "socionext,uniphier-nx1-sd-reset"; + #reset-cells = <1>; + }; + }; + + syscon@19820000 { + compatible = "socionext,uniphier-nx1-perictrl", + "simple-mfd", "syscon"; + reg = <0x19820000 0x200>; + + peri_clk: clock-controller { + compatible = "socionext,uniphier-nx1-peri-clock"; + #clock-cells = <1>; + }; + + peri_rst: reset-controller { + compatible = "socionext,uniphier-nx1-peri-reset"; + #reset-cells = <1>; + }; + }; + + emmc: mmc@1a000000 { + compatible = "socionext,uniphier-sd4hc", "cdns,sd4hc"; + reg = <0x1a000000 0x400>; + interrupts = ; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_emmc>; + clocks = <&sys_clk 4>; + resets = <&sys_rst 4>; + bus-width = <8>; + mmc-ddr-1_8v; + mmc-hs200-1_8v; + mmc-pwrseq = <&emmc_pwrseq>; + cdns,phy-input-delay-legacy = <9>; + cdns,phy-input-delay-mmc-highspeed = <2>; + cdns,phy-input-delay-mmc-ddr = <3>; + cdns,phy-dll-delay-sdclk = <21>; + cdns,phy-dll-delay-sdclk-hsmmc = <21>; + }; + + sd: mmc@1a400000 { + compatible = "socionext,uniphier-sd-v3.1.1"; + reg = <0x1a400000 0x800>; + interrupts = ; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sd>; + clocks = <&sd_clk 0>; + reset-names = "host"; + resets = <&sd_rst 0>; + bus-width = <4>; + cap-sd-highspeed; + status = "disabled"; + }; + + soc_glue: syscon@1f800000 { + compatible = "socionext,uniphier-nx1-soc-glue", + "simple-mfd", "syscon"; + reg = <0x1f800000 0x2000>; + + pinctrl: pinctrl { + compatible = "socionext,uniphier-nx1-pinctrl"; + }; + }; + + soc-glue@1f900000 { + compatible = "simple-mfd"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x1f900000 0x2000>; + }; + + xdmac: dma-controller@1fa10000 { + compatible = "socionext,uniphier-xdmac"; + reg = <0x1fa10000 0x5300>; + interrupts = ; + dma-channels = <16>; + #dma-cells = <2>; + }; + + aidet: interrupt-controller@1fb20000 { + compatible = "socionext,uniphier-nx1-aidet"; + reg = <0x1fb20000 0x200>; + interrupt-controller; + #interrupt-cells = <2>; + }; + + gic: interrupt-controller@1fd00000 { + compatible = "arm,gic-v3"; + reg = <0x1fd00000 0x10000>, /* GICD */ + <0x1fd80000 0x80000>; /* GICR */ + interrupt-controller; + #interrupt-cells = <3>; + interrupts = ; + }; + }; +}; + +#include "uniphier-pinctrl.dtsi"