* [PATCH v03 1/3] xen/dt: add match for non-available nodes
2014-07-03 9:55 [PATCH v03 0/3] arm: introduce basic DRA7 platform support Andrii Tseglytskyi
@ 2014-07-03 9:55 ` Andrii Tseglytskyi
2014-07-03 9:55 ` [PATCH v03 2/3] xen/arm: dra7: Add UART base address for early logging Andrii Tseglytskyi
` (2 subsequent siblings)
3 siblings, 0 replies; 7+ messages in thread
From: Andrii Tseglytskyi @ 2014-07-03 9:55 UTC (permalink / raw)
To: xen-devel; +Cc: Tim Deegan, Stefano Stabellini, Ian Campbell, Andrii Anisov
From: Andrii Anisov <andrii.anisov@globallogic.com>
Signed-off-by: Andrii Anisov <andrii.anisov@globallogic.com>
Acked-by: Julien Grall <julien.grall@linaro.org>
---
xen/common/device_tree.c | 6 +++++-
xen/include/xen/device_tree.h | 2 ++
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index 55716a8..b14d060 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -692,7 +692,8 @@ bool_t dt_match_node(const struct dt_device_match *matches,
if ( !matches )
return 0;
- while ( matches->path || matches->type || matches->compatible )
+ while ( matches->path || matches->type ||
+ matches->compatible || matches->not_available )
{
bool_t match = 1;
@@ -705,6 +706,9 @@ bool_t dt_match_node(const struct dt_device_match *matches,
if ( matches->compatible )
match &= dt_device_is_compatible(node, matches->compatible);
+ if ( matches->not_available )
+ match &= !dt_device_is_available(node);
+
if ( match )
return match;
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index 9a8c3de..a2e1f2a 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -62,11 +62,13 @@ struct dt_device_match {
const char *path;
const char *type;
const char *compatible;
+ const bool_t not_available;
};
#define DT_MATCH_PATH(p) { .path = p }
#define DT_MATCH_TYPE(typ) { .type = typ }
#define DT_MATCH_COMPATIBLE(compat) { .compatible = compat }
+#define DT_MATCH_NOT_AVAILABLE() { .not_available = 1 }
typedef u32 dt_phandle;
--
1.7.9.5
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH v03 2/3] xen/arm: dra7: Add UART base address for early logging
2014-07-03 9:55 [PATCH v03 0/3] arm: introduce basic DRA7 platform support Andrii Tseglytskyi
2014-07-03 9:55 ` [PATCH v03 1/3] xen/dt: add match for non-available nodes Andrii Tseglytskyi
@ 2014-07-03 9:55 ` Andrii Tseglytskyi
2014-07-03 9:55 ` [PATCH v03 3/3] xen/arm: add DRA7 platform definition Andrii Tseglytskyi
2014-07-03 14:05 ` [PATCH v03 0/3] arm: introduce basic DRA7 platform support Ian Campbell
3 siblings, 0 replies; 7+ messages in thread
From: Andrii Tseglytskyi @ 2014-07-03 9:55 UTC (permalink / raw)
To: xen-devel; +Cc: Tim Deegan, Stefano Stabellini, Ian Campbell
DRA7 platform uses UART1 for console logging. Patch adds
its address to make early printk working.
Signed-off-by: Andrii Tseglytskyi <andrii.tseglytskyi@globallogic.com>
Acked-by: Julien Grall <julien.grall@linaro.org>
---
xen/arch/arm/Rules.mk | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/xen/arch/arm/Rules.mk b/xen/arch/arm/Rules.mk
index aa2e79f..7552d40 100644
--- a/xen/arch/arm/Rules.mk
+++ b/xen/arch/arm/Rules.mk
@@ -67,6 +67,11 @@ EARLY_PRINTK_INC := 8250
EARLY_UART_BASE_ADDRESS := 0x48020000
EARLY_UART_REG_SHIFT := 2
endif
+ifeq ($(CONFIG_EARLY_PRINTK), dra7)
+EARLY_PRINTK_INC := 8250
+EARLY_UART_BASE_ADDRESS := 0x4806A000
+EARLY_UART_REG_SHIFT := 2
+endif
ifeq ($(CONFIG_EARLY_PRINTK), sun6i)
EARLY_PRINTK_INC := 8250
EARLY_UART_BASE_ADDRESS := 0x01c28000
--
1.7.9.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v03 3/3] xen/arm: add DRA7 platform definition
2014-07-03 9:55 [PATCH v03 0/3] arm: introduce basic DRA7 platform support Andrii Tseglytskyi
2014-07-03 9:55 ` [PATCH v03 1/3] xen/dt: add match for non-available nodes Andrii Tseglytskyi
2014-07-03 9:55 ` [PATCH v03 2/3] xen/arm: dra7: Add UART base address for early logging Andrii Tseglytskyi
@ 2014-07-03 9:55 ` Andrii Tseglytskyi
2014-07-03 10:18 ` Julien Grall
2014-07-03 14:05 ` [PATCH v03 0/3] arm: introduce basic DRA7 platform support Ian Campbell
3 siblings, 1 reply; 7+ messages in thread
From: Andrii Tseglytskyi @ 2014-07-03 9:55 UTC (permalink / raw)
To: xen-devel; +Cc: Tim Deegan, Stefano Stabellini, Ian Campbell
DRA7 platform definition is added to already existing
OMAP5 data. Data definitions, needed for DRA7 are
almost common for OMAP5 family.
Signed-off-by: Andrii Tseglytskyi <andrii.tseglytskyi@globallogic.com>
---
xen/arch/arm/platforms/omap5.c | 30 +++++++++++++++++++++++++++++-
1 file changed, 29 insertions(+), 1 deletion(-)
diff --git a/xen/arch/arm/platforms/omap5.c b/xen/arch/arm/platforms/omap5.c
index 76d4d9b..c0f8537 100644
--- a/xen/arch/arm/platforms/omap5.c
+++ b/xen/arch/arm/platforms/omap5.c
@@ -144,12 +144,29 @@ static int __init omap5_smp_init(void)
return 0;
}
-static const char const *omap5_dt_compat[] __initconst =
+static const char * const omap5_dt_compat[] __initconst =
{
"ti,omap5",
NULL
};
+static const char * const dra7_dt_compat[] __initconst =
+{
+ "ti,dra7",
+ NULL
+};
+
+static const struct dt_device_match dra7_blacklist_dev[] __initconst =
+{
+ /* OMAP Linux kernel handles devices with status "disabled" in a
+ * weird manner - tries to reset them. While their memory ranges
+ * are not mapped, this leads to data aborts, so skip these devices
+ * from DT for dom0.
+ */
+ DT_MATCH_NOT_AVAILABLE(),
+ { /* sentinel */ },
+};
+
PLATFORM_START(omap5, "TI OMAP5")
.compatible = omap5_dt_compat,
.init_time = omap5_init_time,
@@ -161,6 +178,17 @@ PLATFORM_START(omap5, "TI OMAP5")
.dom0_gnttab_size = 0x20000,
PLATFORM_END
+PLATFORM_START(dra7, "TI DRA7")
+ .compatible = dra7_dt_compat,
+ .init_time = omap5_init_time,
+ .cpu_up = cpu_up_send_sgi,
+ .smp_init = omap5_smp_init,
+
+ .dom0_gnttab_start = 0x4b000000,
+ .dom0_gnttab_size = 0x20000,
+ .blacklist_dev = dra7_blacklist_dev,
+PLATFORM_END
+
/*
* Local variables:
* mode: C
--
1.7.9.5
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH v03 0/3] arm: introduce basic DRA7 platform support
2014-07-03 9:55 [PATCH v03 0/3] arm: introduce basic DRA7 platform support Andrii Tseglytskyi
` (2 preceding siblings ...)
2014-07-03 9:55 ` [PATCH v03 3/3] xen/arm: add DRA7 platform definition Andrii Tseglytskyi
@ 2014-07-03 14:05 ` Ian Campbell
2014-07-03 14:12 ` Andrii Tseglytskyi
3 siblings, 1 reply; 7+ messages in thread
From: Ian Campbell @ 2014-07-03 14:05 UTC (permalink / raw)
To: Andrii Tseglytskyi; +Cc: Tim Deegan, Stefano Stabellini, xen-devel
On Thu, 2014-07-03 at 12:55 +0300, Andrii Tseglytskyi wrote:
> The following patch series adds basic support needed for DRA7
> evm board.
Acked + applied.
Could you please update
http://wiki.xen.org/wiki/Xen_ARM_with_Virtualization_Extensions to
reflect the addition of this platform.
I don't know if it makes sense to also extend
http://wiki.xen.org/wiki/Xen_ARM_with_Virtualization_Extensions/OMAP5432_uEVM or to add a new page.
Ian.
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH v03 0/3] arm: introduce basic DRA7 platform support
2014-07-03 14:05 ` [PATCH v03 0/3] arm: introduce basic DRA7 platform support Ian Campbell
@ 2014-07-03 14:12 ` Andrii Tseglytskyi
0 siblings, 0 replies; 7+ messages in thread
From: Andrii Tseglytskyi @ 2014-07-03 14:12 UTC (permalink / raw)
To: Ian Campbell; +Cc: Tim Deegan, Stefano Stabellini, xen-devel
Hi,
On Thu, Jul 3, 2014 at 5:05 PM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>
> On Thu, 2014-07-03 at 12:55 +0300, Andrii Tseglytskyi wrote:
>> The following patch series adds basic support needed for DRA7
>> evm board.
>
> Acked + applied.
>
> Could you please update
> http://wiki.xen.org/wiki/Xen_ARM_with_Virtualization_Extensions to
> reflect the addition of this platform.
>
> I don't know if it makes sense to also extend
> http://wiki.xen.org/wiki/Xen_ARM_with_Virtualization_Extensions/OMAP5432_uEVM or to add a new page.
>
Sure. Will update asap.
Regards,
Andrii
> Ian.
>
>
>
--
Andrii Tseglytskyi | Embedded Dev
GlobalLogic
www.globallogic.com
^ permalink raw reply [flat|nested] 7+ messages in thread