All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] arm-autonomy: Add support for N1SDP
@ 2020-05-11 13:16 Diego Sueiro
  2020-05-12  0:16 ` [meta-arm] " Jon Mason
  0 siblings, 1 reply; 2+ messages in thread
From: Diego Sueiro @ 2020-05-11 13:16 UTC (permalink / raw)
  To: meta-arm; +Cc: nd, Bertrand Marquis

This patch includes the following changes for n1sdp:

* Add the Xen defconfig and early printk setting;
* Setting the proper Xen device-tree boot args;
* Remove some entries in xen devicetree (PM and SMMU) to make is
compatible with XEN and extra registers settings required for PCI
quirks to communicate with SCP.

Change-Id: Ic968728115787de8d9bfcaaf883fd8573ff6c9c9
Issue-Id: SCM-888
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 .../xen-devicetree/files/xen-n1sdp.dtsi            |  39 ++++++++
 .../xen-devicetree/xen-devicetree.bbappend         |   7 ++
 .../recipes-extended/xen/files/n1sdp/defconfig     | 100 +++++++++++++++++++++
 .../recipes-extended/xen/xen_%.bbappend            |   5 ++
 4 files changed, 151 insertions(+)
 create mode 100644 meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen-devicetree/files/xen-n1sdp.dtsi
 create mode 100644 meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen/files/n1sdp/defconfig

diff --git a/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen-devicetree/files/xen-n1sdp.dtsi b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen-devicetree/files/xen-n1sdp.dtsi
new file mode 100644
index 0000000..01ec14a
--- /dev/null
+++ b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen-devicetree/files/xen-n1sdp.dtsi
@@ -0,0 +1,39 @@
+/*
+ * Modify N1SDP DTB to work properly when Xen is used
+ */
+
+/ {
+
+    /*
+     * pmu is using PPI interrupts which are reserved by xen
+     * remove pm nodes
+     */
+    /delete-node/ pmu;
+    /delete-node/ spe-pmu;
+
+    /*
+     * disable IOMMU until we have a proper support in xen
+     */
+    /delete-node/ iommu@4f000000;
+    /delete-node/ iommu@4f400000;
+
+    /*
+     * Set extra registers required for PCI quirks to communicate with SCP
+     * and remove invalid properties due to removal
+     */
+    pcie@68000000 {
+        reg = <0 0x68000000 0 0x1200000>,
+                <0 0x06000000 0 0x80000>,
+                <0 0x62000000 0 0x80000>;
+        /delete-property/ msi-map;
+        /delete-property/ iommu-map;
+    };
+
+    pcie@70000000 {
+        reg = <0 0x70000000 0 0x1200000>,
+                <0 0x06000000 0 0x80000>,
+                <0 0x60000000 0 0x80000>;
+        /delete-property/ msi-map;
+        /delete-property/ iommu-map;
+    };
+};
diff --git a/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen-devicetree/xen-devicetree.bbappend b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen-devicetree/xen-devicetree.bbappend
index 191cb13..006d0b7 100644
--- a/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen-devicetree/xen-devicetree.bbappend
+++ b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen-devicetree/xen-devicetree.bbappend
@@ -6,10 +6,17 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
 SRC_URI_append_juno = " file://xen-juno.dtsi"
 XEN_DEVICETREE_DTSI_MERGE_append_juno = " xen-juno.dtsi"
 
+# Add a dtb snippet to remove pmu and iommu in dom0 on N1SDP
+SRC_URI_append_n1sdp = " file://xen-n1sdp.dtsi"
+XEN_DEVICETREE_DTSI_MERGE_append_n1sdp = " xen-n1sdp.dtsi"
+
 # Board specific configs
 XEN_DEVICETREE_DOM0_BOOTARGS_append_juno = " root=/dev/sda1 rootwait"
 XEN_DEVICETREE_XEN_BOOTARGS_append_juno = " console=dtuart dtuart=serial0 bootscrub=0 iommu=no"
 
+XEN_DEVICETREE_DOM0_BOOTARGS_append_n1sdp = " root=/dev/sda1 rootwait"
+XEN_DEVICETREE_XEN_BOOTARGS_append_n1sdp = " console=dtuart dtuart=serial0 bootscrub=0 iommu=no"
+
 XEN_DEVICETREE_DOM0_BOOTARGS_append_fvp-base = " root=/dev/vda2"
 XEN_DEVICETREE_XEN_BOOTARGS_append_fvp-base = " console=dtuart dtuart=serial0 bootscrub=0"
 
diff --git a/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen/files/n1sdp/defconfig b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen/files/n1sdp/defconfig
new file mode 100644
index 0000000..e8a88c1
--- /dev/null
+++ b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen/files/n1sdp/defconfig
@@ -0,0 +1,100 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Xen/arm 4.12.2 Configuration
+#
+CONFIG_64BIT=y
+CONFIG_ARM_64=y
+CONFIG_ARM=y
+CONFIG_ARCH_DEFCONFIG="arch/arm/configs/arm64_defconfig"
+
+#
+# Architecture Features
+#
+CONFIG_NR_CPUS=128
+CONFIG_ACPI=y
+CONFIG_GICV3=y
+CONFIG_HAS_ITS=y
+CONFIG_HVM=y
+# CONFIG_NEW_VGIC is not set
+CONFIG_SBSA_VUART_CONSOLE=y
+CONFIG_ARM_SSBD=y
+CONFIG_HARDEN_BRANCH_PREDICTOR=y
+
+#
+# ARM errata workaround via the alternative framework
+#
+CONFIG_ARM64_ERRATUM_827319=y
+CONFIG_ARM64_ERRATUM_824069=y
+CONFIG_ARM64_ERRATUM_819472=y
+CONFIG_ARM64_ERRATUM_832075=y
+CONFIG_ARM64_ERRATUM_834220=y
+CONFIG_ARM64_HARDEN_BRANCH_PREDICTOR=y
+CONFIG_ALL_PLAT=y
+# CONFIG_QEMU is not set
+# CONFIG_RCAR3 is not set
+# CONFIG_MPSOC is not set
+# CONFIG_NO_PLAT is not set
+CONFIG_ALL64_PLAT=y
+# CONFIG_ALL32_PLAT is not set
+CONFIG_MPSOC_PLATFORM=y
+
+#
+# Common Features
+#
+CONFIG_HAS_ALTERNATIVE=y
+CONFIG_HAS_DEVICE_TREE=y
+# CONFIG_MEM_ACCESS is not set
+CONFIG_HAS_PDX=y
+# CONFIG_TMEM is not set
+CONFIG_XSM=y
+CONFIG_XSM_FLASK=y
+CONFIG_XSM_FLASK_AVC_STATS=y
+# CONFIG_XSM_FLASK_POLICY is not set
+CONFIG_XSM_SILO=y
+# CONFIG_XSM_DUMMY_DEFAULT is not set
+# CONFIG_XSM_FLASK_DEFAULT is not set
+CONFIG_XSM_SILO_DEFAULT=y
+# CONFIG_ARGO is not set
+
+#
+# Schedulers
+#
+CONFIG_SCHED_CREDIT=y
+CONFIG_SCHED_CREDIT2=y
+CONFIG_SCHED_RTDS=y
+# CONFIG_SCHED_ARINC653 is not set
+CONFIG_SCHED_NULL=y
+# CONFIG_SCHED_CREDIT_DEFAULT is not set
+CONFIG_SCHED_CREDIT2_DEFAULT=y
+# CONFIG_SCHED_RTDS_DEFAULT is not set
+# CONFIG_SCHED_NULL_DEFAULT is not set
+CONFIG_SCHED_DEFAULT="credit2"
+# CONFIG_LIVEPATCH is not set
+CONFIG_SUPPRESS_DUPLICATE_SYMBOL_WARNINGS=y
+CONFIG_CMDLINE=""
+CONFIG_DOM0_MEM=""
+
+#
+# Device Drivers
+#
+CONFIG_HAS_NS16550=y
+CONFIG_HAS_CADENCE_UART=y
+CONFIG_HAS_MVEBU=y
+CONFIG_HAS_PL011=y
+CONFIG_HAS_SCIF=y
+CONFIG_HAS_PASSTHROUGH=y
+CONFIG_ARM_SMMU=y
+CONFIG_DEFCONFIG_LIST="arch/arm/configs/arm64_defconfig"
+
+#
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
+CONFIG_DEBUG_INFO=y
+# CONFIG_FRAME_POINTER is not set
+# CONFIG_COVERAGE is not set
+# CONFIG_LOCK_PROFILE is not set
+# CONFIG_PERF_COUNTERS is not set
+CONFIG_VERBOSE_DEBUG=y
+# CONFIG_DEVICE_TREE_DEBUG is not set
+# CONFIG_SCRUB_DEBUG is not set
diff --git a/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen/xen_%.bbappend b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen/xen_%.bbappend
index bac391c..bdcb75f 100644
--- a/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen/xen_%.bbappend
+++ b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen/xen_%.bbappend
@@ -5,6 +5,7 @@ XEN_CONFIG_EARLY_PRINTK_juno = "juno"
 XEN_CONFIG_EARLY_PRINTK_gem5-arm64 = "vexpress"
 XEN_CONFIG_EARLY_PRINTK_fvp-base = "fastmodel"
 XEN_CONFIG_EARLY_PRINTK_foundation-armv8 = "fastmodel"
+XEN_CONFIG_EARLY_PRINTK_n1sdp = "pl011,0x2a400000"
 
 # Foundation-armv8 support
 COMPATIBLE_MACHINE_foundation-armv8 = "foundation-armv8"
@@ -25,3 +26,7 @@ SRC_URI_append_juno = " file://juno/defconfig"
 # Fix problem with number of interrupts on gem5
 SRC_URI_append_gem5-arm64 = " file://4.12.0/0001-xen-arm-Cap-the-number-of-interrupt-lines-for-dom0.patch"
 
+# N1SDP support
+COMPATIBLE_MACHINE_n1sdp = "n1sdp"
+
+SRC_URI_append_n1sdp = " file://n1sdp/defconfig"
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [meta-arm] [PATCH] arm-autonomy: Add support for N1SDP
  2020-05-11 13:16 [PATCH] arm-autonomy: Add support for N1SDP Diego Sueiro
@ 2020-05-12  0:16 ` Jon Mason
  0 siblings, 0 replies; 2+ messages in thread
From: Jon Mason @ 2020-05-12  0:16 UTC (permalink / raw)
  To: Diego Sueiro; +Cc: meta-arm, nd, Bertrand Marquis

On Mon, May 11, 2020 at 02:16:30PM +0100, Diego Sueiro wrote:
> This patch includes the following changes for n1sdp:
> 
> * Add the Xen defconfig and early printk setting;
> * Setting the proper Xen device-tree boot args;
> * Remove some entries in xen devicetree (PM and SMMU) to make is
> compatible with XEN and extra registers settings required for PCI
> quirks to communicate with SCP.
> 
> Change-Id: Ic968728115787de8d9bfcaaf883fd8573ff6c9c9
> Issue-Id: SCM-888
> Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>

Pulled into the master branch.

Thanks,
Jon

> ---
>  .../xen-devicetree/files/xen-n1sdp.dtsi            |  39 ++++++++
>  .../xen-devicetree/xen-devicetree.bbappend         |   7 ++
>  .../recipes-extended/xen/files/n1sdp/defconfig     | 100 +++++++++++++++++++++
>  .../recipes-extended/xen/xen_%.bbappend            |   5 ++
>  4 files changed, 151 insertions(+)
>  create mode 100644 meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen-devicetree/files/xen-n1sdp.dtsi
>  create mode 100644 meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen/files/n1sdp/defconfig
> 
> diff --git a/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen-devicetree/files/xen-n1sdp.dtsi b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen-devicetree/files/xen-n1sdp.dtsi
> new file mode 100644
> index 0000000..01ec14a
> --- /dev/null
> +++ b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen-devicetree/files/xen-n1sdp.dtsi
> @@ -0,0 +1,39 @@
> +/*
> + * Modify N1SDP DTB to work properly when Xen is used
> + */
> +
> +/ {
> +
> +    /*
> +     * pmu is using PPI interrupts which are reserved by xen
> +     * remove pm nodes
> +     */
> +    /delete-node/ pmu;
> +    /delete-node/ spe-pmu;
> +
> +    /*
> +     * disable IOMMU until we have a proper support in xen
> +     */
> +    /delete-node/ iommu@4f000000;
> +    /delete-node/ iommu@4f400000;
> +
> +    /*
> +     * Set extra registers required for PCI quirks to communicate with SCP
> +     * and remove invalid properties due to removal
> +     */
> +    pcie@68000000 {
> +        reg = <0 0x68000000 0 0x1200000>,
> +                <0 0x06000000 0 0x80000>,
> +                <0 0x62000000 0 0x80000>;
> +        /delete-property/ msi-map;
> +        /delete-property/ iommu-map;
> +    };
> +
> +    pcie@70000000 {
> +        reg = <0 0x70000000 0 0x1200000>,
> +                <0 0x06000000 0 0x80000>,
> +                <0 0x60000000 0 0x80000>;
> +        /delete-property/ msi-map;
> +        /delete-property/ iommu-map;
> +    };
> +};
> diff --git a/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen-devicetree/xen-devicetree.bbappend b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen-devicetree/xen-devicetree.bbappend
> index 191cb13..006d0b7 100644
> --- a/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen-devicetree/xen-devicetree.bbappend
> +++ b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen-devicetree/xen-devicetree.bbappend
> @@ -6,10 +6,17 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
>  SRC_URI_append_juno = " file://xen-juno.dtsi"
>  XEN_DEVICETREE_DTSI_MERGE_append_juno = " xen-juno.dtsi"
>  
> +# Add a dtb snippet to remove pmu and iommu in dom0 on N1SDP
> +SRC_URI_append_n1sdp = " file://xen-n1sdp.dtsi"
> +XEN_DEVICETREE_DTSI_MERGE_append_n1sdp = " xen-n1sdp.dtsi"
> +
>  # Board specific configs
>  XEN_DEVICETREE_DOM0_BOOTARGS_append_juno = " root=/dev/sda1 rootwait"
>  XEN_DEVICETREE_XEN_BOOTARGS_append_juno = " console=dtuart dtuart=serial0 bootscrub=0 iommu=no"
>  
> +XEN_DEVICETREE_DOM0_BOOTARGS_append_n1sdp = " root=/dev/sda1 rootwait"
> +XEN_DEVICETREE_XEN_BOOTARGS_append_n1sdp = " console=dtuart dtuart=serial0 bootscrub=0 iommu=no"
> +
>  XEN_DEVICETREE_DOM0_BOOTARGS_append_fvp-base = " root=/dev/vda2"
>  XEN_DEVICETREE_XEN_BOOTARGS_append_fvp-base = " console=dtuart dtuart=serial0 bootscrub=0"
>  
> diff --git a/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen/files/n1sdp/defconfig b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen/files/n1sdp/defconfig
> new file mode 100644
> index 0000000..e8a88c1
> --- /dev/null
> +++ b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen/files/n1sdp/defconfig
> @@ -0,0 +1,100 @@
> +#
> +# Automatically generated file; DO NOT EDIT.
> +# Xen/arm 4.12.2 Configuration
> +#
> +CONFIG_64BIT=y
> +CONFIG_ARM_64=y
> +CONFIG_ARM=y
> +CONFIG_ARCH_DEFCONFIG="arch/arm/configs/arm64_defconfig"
> +
> +#
> +# Architecture Features
> +#
> +CONFIG_NR_CPUS=128
> +CONFIG_ACPI=y
> +CONFIG_GICV3=y
> +CONFIG_HAS_ITS=y
> +CONFIG_HVM=y
> +# CONFIG_NEW_VGIC is not set
> +CONFIG_SBSA_VUART_CONSOLE=y
> +CONFIG_ARM_SSBD=y
> +CONFIG_HARDEN_BRANCH_PREDICTOR=y
> +
> +#
> +# ARM errata workaround via the alternative framework
> +#
> +CONFIG_ARM64_ERRATUM_827319=y
> +CONFIG_ARM64_ERRATUM_824069=y
> +CONFIG_ARM64_ERRATUM_819472=y
> +CONFIG_ARM64_ERRATUM_832075=y
> +CONFIG_ARM64_ERRATUM_834220=y
> +CONFIG_ARM64_HARDEN_BRANCH_PREDICTOR=y
> +CONFIG_ALL_PLAT=y
> +# CONFIG_QEMU is not set
> +# CONFIG_RCAR3 is not set
> +# CONFIG_MPSOC is not set
> +# CONFIG_NO_PLAT is not set
> +CONFIG_ALL64_PLAT=y
> +# CONFIG_ALL32_PLAT is not set
> +CONFIG_MPSOC_PLATFORM=y
> +
> +#
> +# Common Features
> +#
> +CONFIG_HAS_ALTERNATIVE=y
> +CONFIG_HAS_DEVICE_TREE=y
> +# CONFIG_MEM_ACCESS is not set
> +CONFIG_HAS_PDX=y
> +# CONFIG_TMEM is not set
> +CONFIG_XSM=y
> +CONFIG_XSM_FLASK=y
> +CONFIG_XSM_FLASK_AVC_STATS=y
> +# CONFIG_XSM_FLASK_POLICY is not set
> +CONFIG_XSM_SILO=y
> +# CONFIG_XSM_DUMMY_DEFAULT is not set
> +# CONFIG_XSM_FLASK_DEFAULT is not set
> +CONFIG_XSM_SILO_DEFAULT=y
> +# CONFIG_ARGO is not set
> +
> +#
> +# Schedulers
> +#
> +CONFIG_SCHED_CREDIT=y
> +CONFIG_SCHED_CREDIT2=y
> +CONFIG_SCHED_RTDS=y
> +# CONFIG_SCHED_ARINC653 is not set
> +CONFIG_SCHED_NULL=y
> +# CONFIG_SCHED_CREDIT_DEFAULT is not set
> +CONFIG_SCHED_CREDIT2_DEFAULT=y
> +# CONFIG_SCHED_RTDS_DEFAULT is not set
> +# CONFIG_SCHED_NULL_DEFAULT is not set
> +CONFIG_SCHED_DEFAULT="credit2"
> +# CONFIG_LIVEPATCH is not set
> +CONFIG_SUPPRESS_DUPLICATE_SYMBOL_WARNINGS=y
> +CONFIG_CMDLINE=""
> +CONFIG_DOM0_MEM=""
> +
> +#
> +# Device Drivers
> +#
> +CONFIG_HAS_NS16550=y
> +CONFIG_HAS_CADENCE_UART=y
> +CONFIG_HAS_MVEBU=y
> +CONFIG_HAS_PL011=y
> +CONFIG_HAS_SCIF=y
> +CONFIG_HAS_PASSTHROUGH=y
> +CONFIG_ARM_SMMU=y
> +CONFIG_DEFCONFIG_LIST="arch/arm/configs/arm64_defconfig"
> +
> +#
> +# Debugging Options
> +#
> +# CONFIG_DEBUG is not set
> +CONFIG_DEBUG_INFO=y
> +# CONFIG_FRAME_POINTER is not set
> +# CONFIG_COVERAGE is not set
> +# CONFIG_LOCK_PROFILE is not set
> +# CONFIG_PERF_COUNTERS is not set
> +CONFIG_VERBOSE_DEBUG=y
> +# CONFIG_DEVICE_TREE_DEBUG is not set
> +# CONFIG_SCRUB_DEBUG is not set
> diff --git a/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen/xen_%.bbappend b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen/xen_%.bbappend
> index bac391c..bdcb75f 100644
> --- a/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen/xen_%.bbappend
> +++ b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen/xen_%.bbappend
> @@ -5,6 +5,7 @@ XEN_CONFIG_EARLY_PRINTK_juno = "juno"
>  XEN_CONFIG_EARLY_PRINTK_gem5-arm64 = "vexpress"
>  XEN_CONFIG_EARLY_PRINTK_fvp-base = "fastmodel"
>  XEN_CONFIG_EARLY_PRINTK_foundation-armv8 = "fastmodel"
> +XEN_CONFIG_EARLY_PRINTK_n1sdp = "pl011,0x2a400000"
>  
>  # Foundation-armv8 support
>  COMPATIBLE_MACHINE_foundation-armv8 = "foundation-armv8"
> @@ -25,3 +26,7 @@ SRC_URI_append_juno = " file://juno/defconfig"
>  # Fix problem with number of interrupts on gem5
>  SRC_URI_append_gem5-arm64 = " file://4.12.0/0001-xen-arm-Cap-the-number-of-interrupt-lines-for-dom0.patch"
>  
> +# N1SDP support
> +COMPATIBLE_MACHINE_n1sdp = "n1sdp"
> +
> +SRC_URI_append_n1sdp = " file://n1sdp/defconfig"
> -- 
> 2.7.4
> 

> 


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-05-12  0:16 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-11 13:16 [PATCH] arm-autonomy: Add support for N1SDP Diego Sueiro
2020-05-12  0:16 ` [meta-arm] " Jon Mason

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.