[U-Boot] [PATCH 2/4] qe: add u-qe support to arm board

ls1021 is arm-core and support qe which is u-qe. add u-qe init for arm board.
Signed-off-by: Zhao Qiang B45475@freescale.com --- arch/arm/include/asm/arch-ls102xa/config.h | 4 ++++ arch/arm/include/asm/global_data.h | 8 ++++++++ drivers/Makefile | 1 + drivers/qe/Makefile | 3 ++- drivers/qe/fdt.c | 2 ++ drivers/qe/qe.c | 13 +++++++++++++ drivers/qe/qe.h | 1 + 7 files changed, 31 insertions(+), 1 deletion(-)
diff --git a/arch/arm/include/asm/arch-ls102xa/config.h b/arch/arm/include/asm/arch-ls102xa/config.h index ed78c33..526ceb4 100644 --- a/arch/arm/include/asm/arch-ls102xa/config.h +++ b/arch/arm/include/asm/arch-ls102xa/config.h @@ -65,6 +65,10 @@
#define DCU_LAYER_MAX_NUM 16
+#define QE_MURAM_SIZE 0x6000UL +#define MAX_QE_RISC 1 +#define QE_NUM_OF_SNUM 28 + #define CONFIG_SYS_FSL_SRDS_1
#ifdef CONFIG_LS102XA diff --git a/arch/arm/include/asm/global_data.h b/arch/arm/include/asm/global_data.h index 63e4ad5..900f127 100644 --- a/arch/arm/include/asm/global_data.h +++ b/arch/arm/include/asm/global_data.h @@ -17,6 +17,14 @@ struct arch_global_data { #if defined(CONFIG_FSL_ESDHC) u32 sdhc_clk; #endif + +#if defined(CONFIG_U_QE) + u32 qe_clk; + u32 brg_clk; + uint mp_alloc_base; + uint mp_alloc_top; +#endif /* CONFIG_U_QE */ + #ifdef CONFIG_AT91FAMILY /* "static data" needed by at91's clock.c */ unsigned long cpu_clk_rate_hz; diff --git a/drivers/Makefile b/drivers/Makefile index b23076f..f4ae477 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -14,4 +14,5 @@ obj-y += twserial/ obj-y += video/ obj-y += watchdog/ obj-$(CONFIG_QE) += qe/ +obj-$(CONFIG_U_QE) += qe/ obj-y += memory/ diff --git a/drivers/qe/Makefile b/drivers/qe/Makefile index 7f1bd06..8fa4866 100644 --- a/drivers/qe/Makefile +++ b/drivers/qe/Makefile @@ -4,5 +4,6 @@ # SPDX-License-Identifier: GPL-2.0+ #
-obj-y := qe.o uccf.o uec.o uec_phy.o +obj-$(CONFIG_QE) += qe.o uccf.o uec.o uec_phy.o +obj-$(CONFIG_U_QE) += qe.o obj-$(CONFIG_OF_LIBFDT) += fdt.o diff --git a/drivers/qe/fdt.c b/drivers/qe/fdt.c index d9a7d82..dfae4bf 100644 --- a/drivers/qe/fdt.c +++ b/drivers/qe/fdt.c @@ -12,6 +12,7 @@ #include <fdt_support.h> #include "qe.h"
+#ifdef CONFIG_QE DECLARE_GLOBAL_DATA_PTR;
/* @@ -72,3 +73,4 @@ void ft_qe_setup(void *blob) "clock-frequency", gd->arch.qe_clk / 2, 1); fdt_fixup_qe_firmware(blob); } +#endif diff --git a/drivers/qe/qe.c b/drivers/qe/qe.c index be09a17..075fd48 100644 --- a/drivers/qe/qe.c +++ b/drivers/qe/qe.c @@ -40,6 +40,7 @@ void qe_issue_cmd(uint cmd, uint sbc, u8 mcn, u32 cmd_data) return; }
+#ifdef CONFIG_QE uint qe_muram_alloc(uint size, uint align) { uint retloc; @@ -70,6 +71,7 @@ uint qe_muram_alloc(uint size, uint align)
return retloc; } +#endif
void *qe_muram_addr(uint offset) { @@ -180,6 +182,15 @@ void qe_init(uint qe_base) qe_snums_init(); }
+void u_qe_init(void) +{ + uint qe_base = CONFIG_SYS_IMMR + 0x01400000; /* QE immr base */ + qe_immr = (qe_map_t *)qe_base; + + qe_upload_firmware((const void *)CONFIG_SYS_QE_FW_ADDR); + out_be32(&qe_immr->iram.iready, QE_IRAM_READY); +} + void qe_reset(void) { qe_issue_cmd(QE_RESET, QE_CR_SUBBLOCK_INVALID, @@ -212,6 +223,7 @@ void qe_assign_page(uint snum, uint para_ram_base)
#define BRG_CLK (gd->arch.brg_clk)
+#ifdef CONFIG_QE int qe_set_brg(uint brg, uint rate) { volatile uint *bp; @@ -239,6 +251,7 @@ int qe_set_brg(uint brg, uint rate)
return 0; } +#endif
/* Set ethernet MII clock master */ diff --git a/drivers/qe/qe.h b/drivers/qe/qe.h index ebb7c5f..30484b8 100644 --- a/drivers/qe/qe.h +++ b/drivers/qe/qe.h @@ -275,6 +275,7 @@ void *qe_muram_addr(uint offset); int qe_get_snum(void); void qe_put_snum(u8 snum); void qe_init(uint qe_base); +void u_qe_init(void); void qe_reset(void); void qe_assign_page(uint snum, uint para_ram_base); int qe_set_brg(uint brg, uint rate);

On 09/24/2014 10:52 PM, Zhao Qiang wrote:
ls1021 is arm-core and support qe which is u-qe. add u-qe init for arm board.
Signed-off-by: Zhao Qiang B45475@freescale.com
arch/arm/include/asm/arch-ls102xa/config.h | 4 ++++ arch/arm/include/asm/global_data.h | 8 ++++++++ drivers/Makefile | 1 + drivers/qe/Makefile | 3 ++- drivers/qe/fdt.c | 2 ++ drivers/qe/qe.c | 13 +++++++++++++ drivers/qe/qe.h | 1 + 7 files changed, 31 insertions(+), 1 deletion(-)
Qiang,
The subject is 2/4 but I don't see other three patches. Where are they?
Alison,
Can you comment on this patch (http://patchwork.ozlabs.org/patch/393256/)? Has this been verified on ls1021 boards?
York

Hi York,
The 1/4 patch http://patchwork.ozlabs.org/patch/355241/ The 3/4 patch http://patchwork.ozlabs.org/patch/393569/ The 4/4 patch http://patchwork.ozlabs.org/patch/393568/
Best Regards Zhao Qiang
-----Original Message----- From: Sun York-R58495 Sent: Wednesday, October 15, 2014 3:04 AM To: Zhao Qiang-B45475; u-boot@lists.denx.de; Wang Huan-B18965 Cc: Xie Xiaobo-R63061 Subject: Re: [PATCH 2/4] qe: add u-qe support to arm board
On 09/24/2014 10:52 PM, Zhao Qiang wrote:
ls1021 is arm-core and support qe which is u-qe. add u-qe init for arm board.
Signed-off-by: Zhao Qiang B45475@freescale.com
arch/arm/include/asm/arch-ls102xa/config.h | 4 ++++ arch/arm/include/asm/global_data.h | 8 ++++++++ drivers/Makefile | 1 + drivers/qe/Makefile | 3 ++- drivers/qe/fdt.c | 2 ++ drivers/qe/qe.c | 13 +++++++++++++ drivers/qe/qe.h | 1 + 7 files changed, 31 insertions(+), 1 deletion(-)
Qiang,
The subject is 2/4 but I don't see other three patches. Where are they?
Alison,
Can you comment on this patch (http://patchwork.ozlabs.org/patch/393256/)? Has this been verified on ls1021 boards?
York

On 09/24/2014 10:52 PM, Zhao Qiang wrote:
ls1021 is arm-core and support qe which is u-qe. add u-qe init for arm board.
Signed-off-by: Zhao Qiang B45475@freescale.com
arch/arm/include/asm/arch-ls102xa/config.h | 4 ++++ arch/arm/include/asm/global_data.h | 8 ++++++++ drivers/Makefile | 1 + drivers/qe/Makefile | 3 ++- drivers/qe/fdt.c | 2 ++ drivers/qe/qe.c | 13 +++++++++++++ drivers/qe/qe.h | 1 + 7 files changed, 31 insertions(+), 1 deletion(-)
Applied to u-boot-fsl-qoriq master. Awaiting upstream. Thanks.
York
participants (3)
-
qiang.zhao@freescale.com
-
York Sun
-
Zhao Qiang