From patchwork Wed Jul 8 17:50:16 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniele Alessandrelli X-Patchwork-Id: 11652063 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 E6E69912 for ; Wed, 8 Jul 2020 17:50:45 +0000 (UTC) Received: by mail.kernel.org (Postfix) id E12DA2078D; Wed, 8 Jul 2020 17:50:45 +0000 (UTC) Delivered-To: soc@kernel.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (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 B97A0206E9; Wed, 8 Jul 2020 17:50:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B97A0206E9 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=daniele.alessandrelli@linux.intel.com IronPort-SDR: PAWiEee84Q6dxLl81574Poq5aCjZC49Xb4GEd7en2khiS0jsQ1xAnBS6sN1dRrf8Y9AlShZsN9 yNT/DCY8I0BQ== X-IronPort-AV: E=McAfee;i="6000,8403,9676"; a="209405786" X-IronPort-AV: E=Sophos;i="5.75,328,1589266800"; d="scan'208";a="209405786" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jul 2020 10:50:45 -0700 IronPort-SDR: 2rJiBneieu5EmjJr4iP38gMAtm06aofLQRXeIiyuOzVZ8LkR8bWpNYSm1w97EtYpV9p44ImLda 6/DyZkwcQqLw== X-IronPort-AV: E=Sophos;i="5.75,328,1589266800"; d="scan'208";a="457591806" Received: from sgyanama-mobl1.gar.corp.intel.com (HELO dalessan-mobl1.ir.intel.com) ([10.252.5.67]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jul 2020 10:50:42 -0700 From: Daniele Alessandrelli List-Id: To: linux-arm-kernel@lists.infradead.org, SoC Team , Rob Herring , Jassi Brar , Arnd Bergmann , Olof Johansson Cc: devicetree@vger.kernel.org, Catalin Marinas , linux-kernel@vger.kernel.org, Dinh Nguyen , Paul Murphy , Will Deacon , Daniele Alessandrelli Subject: [PATCH v2 1/5] arm64: Add config for Keem Bay SoC Date: Wed, 8 Jul 2020 18:50:16 +0100 Message-Id: <20200708175020.194436-2-daniele.alessandrelli@linux.intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200708175020.194436-1-daniele.alessandrelli@linux.intel.com> References: <20200708175020.194436-1-daniele.alessandrelli@linux.intel.com> MIME-Version: 1.0 From: Daniele Alessandrelli Add ARCH_KEEMBAY configuration option to support Intel Movidius SoC code-named Keem Bay. Reviewed-by: Dinh Nguyen Signed-off-by: Daniele Alessandrelli --- arch/arm64/Kconfig.platforms | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms index 8dd05b2a925c..95c1b9042009 100644 --- a/arch/arm64/Kconfig.platforms +++ b/arch/arm64/Kconfig.platforms @@ -121,6 +121,11 @@ config ARCH_HISI help This enables support for Hisilicon ARMv8 SoC family +config ARCH_KEEMBAY + bool "Keem Bay SoC" + help + This enables support for Intel Movidius SoC code-named Keem Bay. + config ARCH_MEDIATEK bool "MediaTek SoC Family" select ARM_GIC From patchwork Wed Jul 8 17:50:17 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniele Alessandrelli X-Patchwork-Id: 11652065 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 6CF4C739 for ; Wed, 8 Jul 2020 17:50:50 +0000 (UTC) Received: by mail.kernel.org (Postfix) id 68685206F6; Wed, 8 Jul 2020 17:50:50 +0000 (UTC) Delivered-To: soc@kernel.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (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 3B570206E9; Wed, 8 Jul 2020 17:50:50 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3B570206E9 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=daniele.alessandrelli@linux.intel.com IronPort-SDR: FCG3eE/SuMvAHawuM9L3U0GazkuFKCPXLLpcDshl49a0AgFB4AxsfVEX7NhIieQXTB+QAjRBwv TDPaB1K6uUoA== X-IronPort-AV: E=McAfee;i="6000,8403,9676"; a="209405791" X-IronPort-AV: E=Sophos;i="5.75,328,1589266800"; d="scan'208";a="209405791" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jul 2020 10:50:50 -0700 IronPort-SDR: xV0E/JtOJs4cX2YTR8uzaDnFyNaZiCScr9YqnIs0b110mXUvOsyHt1oark9owva6jYKWi06i6t FVcXjzzsBx+w== X-IronPort-AV: E=Sophos;i="5.75,328,1589266800"; d="scan'208";a="457591835" Received: from sgyanama-mobl1.gar.corp.intel.com (HELO dalessan-mobl1.ir.intel.com) ([10.252.5.67]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jul 2020 10:50:45 -0700 From: Daniele Alessandrelli List-Id: To: linux-arm-kernel@lists.infradead.org, SoC Team , Rob Herring , Jassi Brar , Arnd Bergmann , Olof Johansson Cc: devicetree@vger.kernel.org, Catalin Marinas , linux-kernel@vger.kernel.org, Dinh Nguyen , Paul Murphy , Will Deacon , Daniele Alessandrelli Subject: [PATCH v2 2/5] dt-bindings: arm: Add Keem Bay bindings Date: Wed, 8 Jul 2020 18:50:17 +0100 Message-Id: <20200708175020.194436-3-daniele.alessandrelli@linux.intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200708175020.194436-1-daniele.alessandrelli@linux.intel.com> References: <20200708175020.194436-1-daniele.alessandrelli@linux.intel.com> MIME-Version: 1.0 From: Daniele Alessandrelli Document Intel Movidius SoC code-named Keem Bay, along with the Keem Bay EVM board. Reviewed-by: Dinh Nguyen Signed-off-by: Daniele Alessandrelli --- .../devicetree/bindings/arm/keembay.yaml | 19 ++ include/dt-bindings/clock/keembay-clocks.h | 188 ++++++++++++++++++ include/dt-bindings/power/keembay-power.h | 19 ++ 3 files changed, 226 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/keembay.yaml create mode 100644 include/dt-bindings/clock/keembay-clocks.h create mode 100644 include/dt-bindings/power/keembay-power.h diff --git a/Documentation/devicetree/bindings/arm/keembay.yaml b/Documentation/devicetree/bindings/arm/keembay.yaml new file mode 100644 index 000000000000..f81b110046ca --- /dev/null +++ b/Documentation/devicetree/bindings/arm/keembay.yaml @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/arm/keembay.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Keem Bay platform device tree bindings + +maintainers: + - Paul J. Murphy + - Daniele Alessandrelli + +properties: + compatible: + items: + - enum: + - intel,keembay-evm + - const: intel,keembay +... diff --git a/include/dt-bindings/clock/keembay-clocks.h b/include/dt-bindings/clock/keembay-clocks.h new file mode 100644 index 000000000000..a68e986dd565 --- /dev/null +++ b/include/dt-bindings/clock/keembay-clocks.h @@ -0,0 +1,188 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * Copyright (c) 2020 Intel Corporation. + * + * Device tree defines for clocks in Keem Bay. + */ + +#ifndef __DT_BINDINGS_KEEMBAY_CLOCKS_H +#define __DT_BINDINGS_KEEMBAY_CLOCKS_H + +/* CPR_PLL region. CLK_ID: 0 - 11 */ +#define KEEM_BAY_A53_PLL_START_ID (0) +#define KEEM_BAY_A53_PLL_0_OUT_0 (KEEM_BAY_A53_PLL_START_ID + 0) +#define KEEM_BAY_A53_PLL_0_OUT_1 (KEEM_BAY_A53_PLL_START_ID + 1) +#define KEEM_BAY_A53_PLL_0_OUT_2 (KEEM_BAY_A53_PLL_START_ID + 2) +#define KEEM_BAY_A53_PLL_0_OUT_3 (KEEM_BAY_A53_PLL_START_ID + 3) +#define KEEM_BAY_A53_PLL_1_OUT_0 (KEEM_BAY_A53_PLL_START_ID + 4) +#define KEEM_BAY_A53_PLL_1_OUT_1 (KEEM_BAY_A53_PLL_START_ID + 5) +#define KEEM_BAY_A53_PLL_1_OUT_2 (KEEM_BAY_A53_PLL_START_ID + 6) +#define KEEM_BAY_A53_PLL_1_OUT_3 (KEEM_BAY_A53_PLL_START_ID + 7) +#define KEEM_BAY_A53_PLL_2_OUT_0 (KEEM_BAY_A53_PLL_START_ID + 8) +#define KEEM_BAY_A53_PLL_2_OUT_1 (KEEM_BAY_A53_PLL_START_ID + 9) +#define KEEM_BAY_A53_PLL_2_OUT_2 (KEEM_BAY_A53_PLL_START_ID + 10) +#define KEEM_BAY_A53_PLL_2_OUT_3 (KEEM_BAY_A53_PLL_START_ID + 11) +#define KEEM_BAY_A53_PLL_MAX_ID (KEEM_BAY_A53_PLL_2_OUT_3) + +/* A53_CPR region. CLK_ID: 12 - 30 */ +#define KEEM_BAY_A53_START_ID (KEEM_BAY_A53_PLL_MAX_ID + 1) +#define KEEM_BAY_A53_AON (KEEM_BAY_A53_START_ID + 0) +#define KEEM_BAY_A53_NOC (KEEM_BAY_A53_START_ID + 1) +#define KEEM_BAY_A53_FUSE (KEEM_BAY_A53_START_ID + 2) +#define KEEM_BAY_A53_ROM (KEEM_BAY_A53_START_ID + 3) +#define KEEM_BAY_A53_ICB (KEEM_BAY_A53_START_ID + 4) +#define KEEM_BAY_A53_GIC (KEEM_BAY_A53_START_ID + 5) +#define KEEM_BAY_A53_TIM (KEEM_BAY_A53_START_ID + 6) +#define KEEM_BAY_A53_GPIO (KEEM_BAY_A53_START_ID + 7) +#define KEEM_BAY_A53_JTAG (KEEM_BAY_A53_START_ID + 8) +#define KEEM_BAY_A53_MBIST_0 (KEEM_BAY_A53_START_ID + 9) +#define KEEM_BAY_A53_DSS (KEEM_BAY_A53_START_ID + 10) +#define KEEM_BAY_A53_MSS (KEEM_BAY_A53_START_ID + 11) +#define KEEM_BAY_A53_PSS (KEEM_BAY_A53_START_ID + 12) +#define KEEM_BAY_A53_PCIE (KEEM_BAY_A53_START_ID + 13) +#define KEEM_BAY_A53_VENC (KEEM_BAY_A53_START_ID + 14) +#define KEEM_BAY_A53_VDEC (KEEM_BAY_A53_START_ID + 15) +#define KEEM_BAY_A53_MBIST_1 (KEEM_BAY_A53_START_ID + 16) +#define KEEM_BAY_A53_MBIST_2 (KEEM_BAY_A53_START_ID + 17) +#define KEEM_BAY_A53_MBIST_3 (KEEM_BAY_A53_START_ID + 18) +#define KEEM_BAY_A53_MAX_ID (KEEM_BAY_A53_MBIST_3) + +/* A53_CPR_AUX region. CLK_ID: 31 - 57 */ +#define KEEM_BAY_A53_AUX_START_ID (KEEM_BAY_A53_MAX_ID + 1) +#define KEEM_BAY_A53_AUX_32KHZ (KEEM_BAY_A53_AUX_START_ID + 0) +#define KEEM_BAY_A53_AUX_CPR (KEEM_BAY_A53_AUX_START_ID + 1) +#define KEEM_BAY_A53_AUX_TSENS (KEEM_BAY_A53_AUX_START_ID + 2) +#define KEEM_BAY_A53_AUX_GPIO0 (KEEM_BAY_A53_AUX_START_ID + 3) +#define KEEM_BAY_A53_AUX_GPIO1 (KEEM_BAY_A53_AUX_START_ID + 4) +#define KEEM_BAY_A53_AUX_GPIO2 (KEEM_BAY_A53_AUX_START_ID + 5) +#define KEEM_BAY_A53_AUX_GPIO3 (KEEM_BAY_A53_AUX_START_ID + 6) +#define KEEM_BAY_A53_AUX_DDR_REF (KEEM_BAY_A53_AUX_START_ID + 7) +#define KEEM_BAY_A53_AUX_DDR_REF_BYPASS (KEEM_BAY_A53_AUX_START_ID + 8) +#define KEEM_BAY_A53_AUX_RESERVED1 (KEEM_BAY_A53_AUX_START_ID + 9) +#define KEEM_BAY_A53_AUX_VENC (KEEM_BAY_A53_AUX_START_ID + 10) +#define KEEM_BAY_A53_AUX_VDEC (KEEM_BAY_A53_AUX_START_ID + 11) +#define KEEM_BAY_A53_AUX_USOC_USB_CTRL (KEEM_BAY_A53_AUX_START_ID + 12) +#define KEEM_BAY_A53_AUX_USB (KEEM_BAY_A53_AUX_START_ID + 13) +#define KEEM_BAY_A53_AUX_USB_REF (KEEM_BAY_A53_AUX_START_ID + 14) +#define KEEM_BAY_A53_AUX_USB_ALT_REF (KEEM_BAY_A53_AUX_START_ID + 15) +#define KEEM_BAY_A53_AUX_USB_SUSPEND (KEEM_BAY_A53_AUX_START_ID + 16) +#define KEEM_BAY_A53_AUX_RESERVED2 (KEEM_BAY_A53_AUX_START_ID + 17) +#define KEEM_BAY_A53_AUX_PCIE (KEEM_BAY_A53_AUX_START_ID + 18) +#define KEEM_BAY_A53_AUX_DBG_CLK (KEEM_BAY_A53_AUX_START_ID + 19) +#define KEEM_BAY_A53_AUX_DBG_TRACE (KEEM_BAY_A53_AUX_START_ID + 20) +#define KEEM_BAY_A53_AUX_DBG_DAP (KEEM_BAY_A53_AUX_START_ID + 21) +#define KEEM_BAY_A53_AUX_ARM_CLKIN (KEEM_BAY_A53_AUX_START_ID + 22) +#define KEEM_BAY_A53_AUX_ARM_AXI (KEEM_BAY_A53_AUX_START_ID + 23) +#define KEEM_BAY_A53_AUX_USOC (KEEM_BAY_A53_AUX_START_ID + 24) +#define KEEM_BAY_A53_AUX_USOC_REF (KEEM_BAY_A53_AUX_START_ID + 25) +#define KEEM_BAY_A53_AUX_USOC_ALT_REF (KEEM_BAY_A53_AUX_START_ID + 26) +#define KEEM_BAY_A53_AUX_MAX_ID (KEEM_BAY_A53_AUX_USOC_ALT_REF) + +/* PSS_CPR region CLK_ID: CLK_ID: 58 - 82 */ +#define KEEM_BAY_PSS_START_ID (KEEM_BAY_A53_AUX_MAX_ID + 1) +#define KEEM_BAY_PSS_I2C0 (KEEM_BAY_PSS_START_ID + 0) +#define KEEM_BAY_PSS_I2C1 (KEEM_BAY_PSS_START_ID + 1) +#define KEEM_BAY_PSS_I2C2 (KEEM_BAY_PSS_START_ID + 2) +#define KEEM_BAY_PSS_I2C3 (KEEM_BAY_PSS_START_ID + 3) +#define KEEM_BAY_PSS_I2C4 (KEEM_BAY_PSS_START_ID + 4) +#define KEEM_BAY_PSS_SD0 (KEEM_BAY_PSS_START_ID + 5) +#define KEEM_BAY_PSS_SD1 (KEEM_BAY_PSS_START_ID + 6) +#define KEEM_BAY_PSS_EMMC (KEEM_BAY_PSS_START_ID + 7) +#define KEEM_BAY_PSS_AXI_DMA (KEEM_BAY_PSS_START_ID + 8) +#define KEEM_BAY_PSS_SPI0 (KEEM_BAY_PSS_START_ID + 9) +#define KEEM_BAY_PSS_SPI1 (KEEM_BAY_PSS_START_ID + 10) +#define KEEM_BAY_PSS_SPI2 (KEEM_BAY_PSS_START_ID + 11) +#define KEEM_BAY_PSS_SPI3 (KEEM_BAY_PSS_START_ID + 12) +#define KEEM_BAY_PSS_I2S0 (KEEM_BAY_PSS_START_ID + 13) +#define KEEM_BAY_PSS_I2S1 (KEEM_BAY_PSS_START_ID + 14) +#define KEEM_BAY_PSS_I2S2 (KEEM_BAY_PSS_START_ID + 15) +#define KEEM_BAY_PSS_I2S3 (KEEM_BAY_PSS_START_ID + 16) +#define KEEM_BAY_PSS_UART0 (KEEM_BAY_PSS_START_ID + 17) +#define KEEM_BAY_PSS_UART1 (KEEM_BAY_PSS_START_ID + 18) +#define KEEM_BAY_PSS_UART2 (KEEM_BAY_PSS_START_ID + 19) +#define KEEM_BAY_PSS_UART3 (KEEM_BAY_PSS_START_ID + 20) +#define KEEM_BAY_PSS_I3C0 (KEEM_BAY_PSS_START_ID + 21) +#define KEEM_BAY_PSS_I3C1 (KEEM_BAY_PSS_START_ID + 22) +#define KEEM_BAY_PSS_I3C2 (KEEM_BAY_PSS_START_ID + 23) +#define KEEM_BAY_PSS_GBE (KEEM_BAY_PSS_START_ID + 24) +#define KEEM_BAY_PSS_MAX_ID (KEEM_BAY_PSS_GBE) + +/* PSS_CPR_AUX region. CLK_ID: 83 - 97 */ +#define KEEM_BAY_PSS_AUX_START_ID (KEEM_BAY_PSS_MAX_ID + 1) +#define KEEM_BAY_PSS_AUX_I2S0 (KEEM_BAY_PSS_AUX_START_ID + 0) +#define KEEM_BAY_PSS_AUX_I2S1 (KEEM_BAY_PSS_AUX_START_ID + 1) +#define KEEM_BAY_PSS_AUX_I2S2 (KEEM_BAY_PSS_AUX_START_ID + 2) +#define KEEM_BAY_PSS_AUX_I2S3 (KEEM_BAY_PSS_AUX_START_ID + 3) +#define KEEM_BAY_PSS_AUX_UART0 (KEEM_BAY_PSS_AUX_START_ID + 4) +#define KEEM_BAY_PSS_AUX_UART1 (KEEM_BAY_PSS_AUX_START_ID + 5) +#define KEEM_BAY_PSS_AUX_UART2 (KEEM_BAY_PSS_AUX_START_ID + 6) +#define KEEM_BAY_PSS_AUX_UART3 (KEEM_BAY_PSS_AUX_START_ID + 7) +#define KEEM_BAY_PSS_AUX_SD0 (KEEM_BAY_PSS_AUX_START_ID + 8) +#define KEEM_BAY_PSS_AUX_SD1 (KEEM_BAY_PSS_AUX_START_ID + 9) +#define KEEM_BAY_PSS_AUX_EMMC (KEEM_BAY_PSS_AUX_START_ID + 10) +#define KEEM_BAY_PSS_AUX_TRNG (KEEM_BAY_PSS_AUX_START_ID + 11) +#define KEEM_BAY_PSS_AUX_OCS (KEEM_BAY_PSS_AUX_START_ID + 12) +#define KEEM_BAY_PSS_AUX_GBE_PTP (KEEM_BAY_PSS_AUX_START_ID + 13) +#define KEEM_BAY_PSS_AUX_GBE_TX (KEEM_BAY_PSS_AUX_START_ID + 14) +#define KEEM_BAY_PSS_AUX_MAX_ID (KEEM_BAY_PSS_AUX_GBE_TX) + +/* DSS_CPR region. CLK_ID: 98 - 109 */ +#define KEEM_BAY_DSS_START_ID (KEEM_BAY_PSS_AUX_MAX_ID + 1) +#define KEEM_BAY_DSS_SYS (KEEM_BAY_DSS_START_ID + 0) +#define KEEM_BAY_DSS_DEC400 (KEEM_BAY_DSS_START_ID + 1) +#define KEEM_BAY_DSS_TSENSE (KEEM_BAY_DSS_START_ID + 2) +#define KEEM_BAY_DSS_BUS_0 (KEEM_BAY_DSS_START_ID + 3) +#define KEEM_BAY_DSS_CORE_0 (KEEM_BAY_DSS_START_ID + 4) +#define KEEM_BAY_DSS_REF_0 (KEEM_BAY_DSS_START_ID + 5) +#define KEEM_BAY_DSS_REF_BYP_0 (KEEM_BAY_DSS_START_ID + 6) +#define KEEM_BAY_DSS_BUS_1 (KEEM_BAY_DSS_START_ID + 7) +#define KEEM_BAY_DSS_CORE_1 (KEEM_BAY_DSS_START_ID + 8) +#define KEEM_BAY_DSS_REF_1 (KEEM_BAY_DSS_START_ID + 9) +#define KEEM_BAY_DSS_REF_BYP_1 (KEEM_BAY_DSS_START_ID + 10) +#define KEEM_BAY_DSS_MMU500 (KEEM_BAY_DSS_START_ID + 11) +#define KEEM_BAY_DSS_MAX_ID (KEEM_BAY_DSS_MMU500) + +/* USS_CPR region. CLK_ID: 110 - 116 */ +#define KEEM_BAY_USS_START_ID (KEEM_BAY_DSS_MAX_ID + 1) +#define KEEM_BAY_USS_SYS (KEEM_BAY_USS_START_ID + 0) +#define KEEM_BAY_USS_REF (KEEM_BAY_USS_START_ID + 1) +#define KEEM_BAY_USS_ALT_REF (KEEM_BAY_USS_START_ID + 2) +#define KEEM_BAY_USS_SUSPEND (KEEM_BAY_USS_START_ID + 3) +#define KEEM_BAY_USS_CORE (KEEM_BAY_USS_START_ID + 4) +#define KEEM_BAY_USS_LOW_JIT (KEEM_BAY_USS_START_ID + 5) +#define KEEM_BAY_USS_PHY_TST (KEEM_BAY_USS_START_ID + 6) +#define KEEM_BAY_USS_MAX_ID (KEEM_BAY_USS_PHY_TST) + +/* MSS_CPR region. CLK_ID: 117 - 129 */ +#define KEEM_BAY_MSS_START_ID (KEEM_BAY_USS_MAX_ID + 1) +#define KEEM_BAY_MSS_CPU (KEEM_BAY_MSS_START_ID + 0) +#define KEEM_BAY_MSS_CPU_DSU (KEEM_BAY_MSS_START_ID + 1) +#define KEEM_BAY_MSS_CPU_L2C (KEEM_BAY_MSS_START_ID + 2) +#define KEEM_BAY_MSS_CPU_ICB (KEEM_BAY_MSS_START_ID + 3) +#define KEEM_BAY_MSS_CPU_TIM (KEEM_BAY_MSS_START_ID + 4) +#define KEEM_BAY_MSS_JPGENC (KEEM_BAY_MSS_START_ID + 5) +#define KEEM_BAY_MSS_DTB (KEEM_BAY_MSS_START_ID + 6) +#define KEEM_BAY_MSS_BLT (KEEM_BAY_MSS_START_ID + 7) +#define KEEM_BAY_MSS_UPA (KEEM_BAY_MSS_START_ID + 8) +#define KEEM_BAY_MSS_NCE (KEEM_BAY_MSS_START_ID + 9) +#define KEEM_BAY_MSS_CV (KEEM_BAY_MSS_START_ID + 10) +#define KEEM_BAY_MSS_ISP (KEEM_BAY_MSS_START_ID + 11) +#define KEEM_BAY_MSS_CAM (KEEM_BAY_MSS_START_ID + 12) +#define KEEM_BAY_MSS_MAX_ID (KEEM_BAY_MSS_CAM) + +/* MSS_CPR_AUX region. CLK_ID: 130 - 138 */ +#define KEEM_BAY_MSS_AUX_START_ID (KEEM_BAY_MSS_MAX_ID + 1) +#define KEEM_BAY_MSS_AUX_CIF (KEEM_BAY_MSS_AUX_START_ID + 0) +#define KEEM_BAY_MSS_AUX_LCD (KEEM_BAY_MSS_AUX_START_ID + 1) +#define KEEM_BAY_MSS_AUX_SLVDS0 (KEEM_BAY_MSS_AUX_START_ID + 2) +#define KEEM_BAY_MSS_AUX_SLVDS1 (KEEM_BAY_MSS_AUX_START_ID + 3) +#define KEEM_BAY_MSS_AUX_MIPI_TX0 (KEEM_BAY_MSS_AUX_START_ID + 4) +#define KEEM_BAY_MSS_AUX_MIPI_TX1 (KEEM_BAY_MSS_AUX_START_ID + 5) +#define KEEM_BAY_MSS_AUX_MIPI_ECFG (KEEM_BAY_MSS_AUX_START_ID + 6) +#define KEEM_BAY_MSS_AUX_MIPI_CFG (KEEM_BAY_MSS_AUX_START_ID + 7) +#define KEEM_BAY_MSS_AUX_JPGENC (KEEM_BAY_MSS_AUX_START_ID + 8) +#define KEEM_BAY_MSS_AUX_MAX_ID (KEEM_BAY_MSS_AUX_JPGENC) + +#define KEEM_BAY_NUM_CLOCKS (KEEM_BAY_MSS_AUX_MAX_ID + 1) + +#endif /* __DT_BINDINGS_KEEMBAY_CLOCKS_H */ diff --git a/include/dt-bindings/power/keembay-power.h b/include/dt-bindings/power/keembay-power.h new file mode 100644 index 000000000000..335008a8b68e --- /dev/null +++ b/include/dt-bindings/power/keembay-power.h @@ -0,0 +1,19 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * Copyright (c) 2020 Intel Corporation. + * + * Device tree defines for power domains in Keem Bay. + */ + +#ifndef __DT_BINDINGS_KEEMBAY_POWER_H +#define __DT_BINDINGS_KEEMBAY_POWER_H + +#define KEEM_BAY_PSS_POWER_DOMAIN 0 +#define KEEM_BAY_MSS_CPU_POWER_DOMAIN 1 +#define KEEM_BAY_VDEC_POWER_DOMAIN 2 +#define KEEM_BAY_VENC_POWER_DOMAIN 3 +#define KEEM_BAY_PCIE_POWER_DOMAIN 4 +#define KEEM_BAY_USS_POWER_DOMAIN 5 +#define KEEM_BAY_MSS_CAM_POWER_DOMAIN 6 + +#endif /* __DT_BINDINGS_KEEMBAY_POWER_H */ From patchwork Wed Jul 8 17:50:18 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniele Alessandrelli X-Patchwork-Id: 11652067 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 DE741912 for ; Wed, 8 Jul 2020 17:50:53 +0000 (UTC) Received: by mail.kernel.org (Postfix) id DA82020760; Wed, 8 Jul 2020 17:50:53 +0000 (UTC) Delivered-To: soc@kernel.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (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 A2E3B206E9; Wed, 8 Jul 2020 17:50:53 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A2E3B206E9 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=daniele.alessandrelli@linux.intel.com IronPort-SDR: 2ZzQBtA0pSaQ8dClziKE1U6wbFwamI7h1DD66MzjtRTguUWqkvRwyY1bKgAmvwJNGBeDyYbxYm AtYIX2ODVQLQ== X-IronPort-AV: E=McAfee;i="6000,8403,9676"; a="209405812" X-IronPort-AV: E=Sophos;i="5.75,328,1589266800"; d="scan'208";a="209405812" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jul 2020 10:50:53 -0700 IronPort-SDR: FZbihmKm2bjRTTTF4rl2QTeniS3n/v6o3sCPZzdtolAiZmX3obxI/Gb5UsSV3mPeHVgrN7YZuK J5l/icVBJGlg== X-IronPort-AV: E=Sophos;i="5.75,328,1589266800"; d="scan'208";a="457591902" Received: from sgyanama-mobl1.gar.corp.intel.com (HELO dalessan-mobl1.ir.intel.com) ([10.252.5.67]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jul 2020 10:50:50 -0700 From: Daniele Alessandrelli List-Id: To: linux-arm-kernel@lists.infradead.org, SoC Team , Rob Herring , Jassi Brar , Arnd Bergmann , Olof Johansson Cc: devicetree@vger.kernel.org, Catalin Marinas , linux-kernel@vger.kernel.org, Dinh Nguyen , Paul Murphy , Will Deacon , Daniele Alessandrelli Subject: [PATCH v2 3/5] MAINTAINERS: Add maintainers for Keem Bay SoC Date: Wed, 8 Jul 2020 18:50:18 +0100 Message-Id: <20200708175020.194436-4-daniele.alessandrelli@linux.intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200708175020.194436-1-daniele.alessandrelli@linux.intel.com> References: <20200708175020.194436-1-daniele.alessandrelli@linux.intel.com> MIME-Version: 1.0 From: Daniele Alessandrelli Add maintainers for the new Intel Movidius SoC code-named Keem Bay. Reviewed-by: Dinh Nguyen Signed-off-by: Daniele Alessandrelli --- MAINTAINERS | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 1d4aa7f942de..ceb833fa04dd 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1954,6 +1954,14 @@ F: drivers/irqchip/irq-ixp4xx.c F: include/linux/irqchip/irq-ixp4xx.h F: include/linux/platform_data/timer-ixp4xx.h +ARM/INTEL KEEMBAY ARCHITECTURE +M: Paul J. Murphy +M: Daniele Alessandrelli +S: Maintained +F: Documentation/devicetree/bindings/arm/keembay.yaml +F: include/dt-bindings/clock/keembay-clocks.h +F: include/dt-bindings/power/keembay-power.h + ARM/INTEL RESEARCH IMOTE/STARGATE 2 MACHINE SUPPORT M: Jonathan Cameron L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) From patchwork Wed Jul 8 17:50:19 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniele Alessandrelli X-Patchwork-Id: 11652071 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 B110513BD for ; Wed, 8 Jul 2020 17:50:57 +0000 (UTC) Received: by mail.kernel.org (Postfix) id AB813206F6; Wed, 8 Jul 2020 17:50:57 +0000 (UTC) Delivered-To: soc@kernel.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (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 7D1C5206E9; Wed, 8 Jul 2020 17:50:57 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7D1C5206E9 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=daniele.alessandrelli@linux.intel.com IronPort-SDR: E900WULXyg0ynfOfikzhxEnu5nFf1Y87PksYTPlYyVpvNH/MZgHMSNU8VNLQ78eVTPVLYnm9Sh pN3++VH4n3iw== X-IronPort-AV: E=McAfee;i="6000,8403,9676"; a="209405844" X-IronPort-AV: E=Sophos;i="5.75,328,1589266800"; d="scan'208";a="209405844" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jul 2020 10:50:57 -0700 IronPort-SDR: hQqu/5M6q4nS/e14LAVyoT9Jl2/HL/XMHI5+al7gkntaeU8cIWSarqjxPsXnj+BSFkjrLKHFf5 ZfxZ72M8rZjA== X-IronPort-AV: E=Sophos;i="5.75,328,1589266800"; d="scan'208";a="457591975" Received: from sgyanama-mobl1.gar.corp.intel.com (HELO dalessan-mobl1.ir.intel.com) ([10.252.5.67]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jul 2020 10:50:53 -0700 From: Daniele Alessandrelli List-Id: To: linux-arm-kernel@lists.infradead.org, SoC Team , Rob Herring , Jassi Brar , Arnd Bergmann , Olof Johansson Cc: devicetree@vger.kernel.org, Catalin Marinas , linux-kernel@vger.kernel.org, Dinh Nguyen , Paul Murphy , Will Deacon , Daniele Alessandrelli Subject: [PATCH v2 4/5] arm64: dts: keembay: Add device tree for Keem Bay SoC Date: Wed, 8 Jul 2020 18:50:19 +0100 Message-Id: <20200708175020.194436-5-daniele.alessandrelli@linux.intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200708175020.194436-1-daniele.alessandrelli@linux.intel.com> References: <20200708175020.194436-1-daniele.alessandrelli@linux.intel.com> MIME-Version: 1.0 From: Daniele Alessandrelli Add initial device tree for Intel Movidius SoC code-named Keem Bay. This initial DT includes nodes for Cortex-A53 cores, UARTs, GIC, PSCI, and PMU. Reviewed-by: Dinh Nguyen Signed-off-by: Daniele Alessandrelli --- MAINTAINERS | 1 + arch/arm64/boot/dts/intel/keembay-soc.dtsi | 125 +++++++++++++++++++++ 2 files changed, 126 insertions(+) create mode 100644 arch/arm64/boot/dts/intel/keembay-soc.dtsi diff --git a/MAINTAINERS b/MAINTAINERS index ceb833fa04dd..53d2f8d0976a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1959,6 +1959,7 @@ M: Paul J. Murphy M: Daniele Alessandrelli S: Maintained F: Documentation/devicetree/bindings/arm/keembay.yaml +F: arch/arm64/boot/dts/intel/keembay-soc.dtsi F: include/dt-bindings/clock/keembay-clocks.h F: include/dt-bindings/power/keembay-power.h diff --git a/arch/arm64/boot/dts/intel/keembay-soc.dtsi b/arch/arm64/boot/dts/intel/keembay-soc.dtsi new file mode 100644 index 000000000000..4aaf543f3ad1 --- /dev/null +++ b/arch/arm64/boot/dts/intel/keembay-soc.dtsi @@ -0,0 +1,125 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (C) 2020, Intel Corporation. + * + * Device tree describing Keem Bay SoC. + */ + +#include +#include +#include + +/ { + interrupt-parent = <&gic>; + #address-cells = <2>; + #size-cells = <2>; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + compatible = "arm,cortex-a53"; + device_type = "cpu"; + reg = <0x0>; + enable-method = "psci"; + }; + + cpu@1 { + compatible = "arm,cortex-a53"; + device_type = "cpu"; + reg = <0x1>; + enable-method = "psci"; + }; + + cpu@2 { + compatible = "arm,cortex-a53"; + device_type = "cpu"; + reg = <0x2>; + enable-method = "psci"; + }; + + cpu@3 { + compatible = "arm,cortex-a53"; + device_type = "cpu"; + reg = <0x3>; + enable-method = "psci"; + }; + }; + + psci { + compatible = "arm,psci-0.2"; + method = "smc"; + }; + + gic: interrupt-controller@20500000 { + compatible = "arm,gic-v3"; + interrupt-controller; + #interrupt-cells = <3>; + reg = <0x0 0x20500000 0x0 0x20000>, /* GICD */ + <0x0 0x20580000 0x0 0x80000>; /* GICR */ + /* VGIC maintenance interrupt */ + interrupts = ; + }; + + timer { + compatible = "arm,armv8-timer"; + /* Secure, non-secure, virtual, and hypervisor */ + interrupts = , + , + , + ; + }; + + pmu { + compatible = "arm,armv8-pmuv3"; + interrupts = ; + }; + + soc { + compatible = "simple-bus"; + #address-cells = <2>; + #size-cells = <2>; + ranges; + + uart0: serial@20150000 { + compatible = "snps,dw-apb-uart"; + reg = <0x0 0x20150000 0x0 0x100>; + interrupts = ; + clock-frequency = <24000000>; + reg-shift = <2>; + reg-io-width = <4>; + status = "disabled"; + }; + + uart1: serial@20160000 { + compatible = "snps,dw-apb-uart"; + reg = <0x0 0x20160000 0x0 0x100>; + interrupts = ; + clock-frequency = <24000000>; + reg-shift = <2>; + reg-io-width = <4>; + status = "disabled"; + }; + + uart2: serial@20170000 { + compatible = "snps,dw-apb-uart"; + reg = <0x0 0x20170000 0x0 0x100>; + interrupts = ; + clock-frequency = <24000000>; + reg-shift = <2>; + reg-io-width = <4>; + status = "disabled"; + }; + + uart3: serial@20180000 { + compatible = "snps,dw-apb-uart"; + reg = <0x0 0x20180000 0x0 0x100>; + interrupts = ; + clock-frequency = <24000000>; + reg-shift = <2>; + reg-io-width = <4>; + status = "disabled"; + }; + }; +}; From patchwork Wed Jul 8 17:50:20 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniele Alessandrelli X-Patchwork-Id: 11652073 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 103AE739 for ; Wed, 8 Jul 2020 17:51:02 +0000 (UTC) Received: by mail.kernel.org (Postfix) id 0A21320760; Wed, 8 Jul 2020 17:51:02 +0000 (UTC) Delivered-To: soc@kernel.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (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 C6478206E9; Wed, 8 Jul 2020 17:51:01 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C6478206E9 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=daniele.alessandrelli@linux.intel.com IronPort-SDR: ivmv/Qkl7mvEHUXR78WI4tneDLSQq4KvnET96ru0CmjYvuwsWGkGgptRuwGUQhXASkM1xj8hfk jNilWJ4ghChg== X-IronPort-AV: E=McAfee;i="6000,8403,9676"; a="209405891" X-IronPort-AV: E=Sophos;i="5.75,328,1589266800"; d="scan'208";a="209405891" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jul 2020 10:51:01 -0700 IronPort-SDR: QGueSo69Rneunb1hXeQgL4SMrjBiL8w+qWm/2W2VPReUojcNXFAh+Z+5zPFA+DNfeZDI5BbBuT 56f1rJwTG5vQ== X-IronPort-AV: E=Sophos;i="5.75,328,1589266800"; d="scan'208";a="457592062" Received: from sgyanama-mobl1.gar.corp.intel.com (HELO dalessan-mobl1.ir.intel.com) ([10.252.5.67]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jul 2020 10:50:57 -0700 From: Daniele Alessandrelli List-Id: To: linux-arm-kernel@lists.infradead.org, SoC Team , Rob Herring , Jassi Brar , Arnd Bergmann , Olof Johansson Cc: devicetree@vger.kernel.org, Catalin Marinas , linux-kernel@vger.kernel.org, Dinh Nguyen , Paul Murphy , Will Deacon , Daniele Alessandrelli Subject: [PATCH v2 5/5] arm64: dts: keembay: Add device tree for Keem Bay EVM board Date: Wed, 8 Jul 2020 18:50:20 +0100 Message-Id: <20200708175020.194436-6-daniele.alessandrelli@linux.intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200708175020.194436-1-daniele.alessandrelli@linux.intel.com> References: <20200708175020.194436-1-daniele.alessandrelli@linux.intel.com> MIME-Version: 1.0 From: Daniele Alessandrelli Add initial device tree for Keem Bay EVM board. With this minimal device tree the board boots fine using an initramfs image. Reviewed-by: Dinh Nguyen Signed-off-by: Daniele Alessandrelli --- MAINTAINERS | 1 + arch/arm64/boot/dts/intel/Makefile | 1 + arch/arm64/boot/dts/intel/keembay-evm.dts | 39 +++++++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 arch/arm64/boot/dts/intel/keembay-evm.dts diff --git a/MAINTAINERS b/MAINTAINERS index 53d2f8d0976a..d7dcb3a86201 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1959,6 +1959,7 @@ M: Paul J. Murphy M: Daniele Alessandrelli S: Maintained F: Documentation/devicetree/bindings/arm/keembay.yaml +F: arch/arm64/boot/dts/intel/keembay-evm.dts F: arch/arm64/boot/dts/intel/keembay-soc.dtsi F: include/dt-bindings/clock/keembay-clocks.h F: include/dt-bindings/power/keembay-power.h diff --git a/arch/arm64/boot/dts/intel/Makefile b/arch/arm64/boot/dts/intel/Makefile index 40cb16e8c814..296eceec4276 100644 --- a/arch/arm64/boot/dts/intel/Makefile +++ b/arch/arm64/boot/dts/intel/Makefile @@ -1,3 +1,4 @@ # SPDX-License-Identifier: GPL-2.0-only dtb-$(CONFIG_ARCH_AGILEX) += socfpga_agilex_socdk.dtb \ socfpga_agilex_socdk_nand.dtb +dtb-$(CONFIG_ARCH_KEEMBAY) += keembay-evm.dtb diff --git a/arch/arm64/boot/dts/intel/keembay-evm.dts b/arch/arm64/boot/dts/intel/keembay-evm.dts new file mode 100644 index 000000000000..92a7500efc61 --- /dev/null +++ b/arch/arm64/boot/dts/intel/keembay-evm.dts @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (C) 2020, Intel Corporation + * + * Device tree describing Keem Bay EVM board. + */ + +/dts-v1/; + +#include "keembay-soc.dtsi" +#include +#include + +/ { + model = "Keem Bay EVM"; + compatible = "intel,keembay-evm", "intel,keembay"; + + #address-cells = <2>; + #size-cells = <2>; + + aliases { + serial0 = &uart3; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + memory@80000000 { + device_type = "memory"; + /* 2GB of DDR memory. */ + reg = <0x0 0x80000000 0x0 0x80000000>; + }; + +}; + +&uart3 { + status = "okay"; +};