From patchwork Fri Sep 21 08:32:15 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Packham X-Patchwork-Id: 185610 X-Patchwork-Delegate: wd@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 93D332C007C for ; Fri, 21 Sep 2012 18:33:59 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id C9EE12808C; Fri, 21 Sep 2012 10:33:56 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id P-vQMjUKjMbf; Fri, 21 Sep 2012 10:33:56 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 2218D28086; Fri, 21 Sep 2012 10:33:49 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 0DCB328086 for ; Fri, 21 Sep 2012 10:33:40 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id el-nAEs16gIk for ; Fri, 21 Sep 2012 10:33:23 +0200 (CEST) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from gate.alliedtelesyn.co.nz (gate.alliedtelesyn.co.nz [202.49.72.33]) by theia.denx.de (Postfix) with SMTP id 28AD328085 for ; Fri, 21 Sep 2012 10:33:11 +0200 (CEST) Received: (qmail 14314 invoked from network); 21 Sep 2012 08:33:01 -0000 Received: from mmarshal2-dx.alliedtelesyn.co.nz (HELO mailmarshall.alliedtelesyn.co.nz) (10.32.18.41) by gate-int.alliedtelesyn.co.nz with SMTP; 21 Sep 2012 08:33:01 -0000 Received: from alliedtelesyn.co.nz (Not Verified[10.32.16.32]) by mailmarshall.alliedtelesyn.co.nz with MailMarshal (v6, 2, 0, 2977) id ; Fri, 21 Sep 2012 20:32:57 +1200 Received: from MAIL/SpoolDir by alliedtelesyn.co.nz (Mercury 1.48); 21 Sep 12 20:36:20 +1200 Received: from SpoolDir by MAIL (Mercury 1.48); 21 Sep 12 20:36:19 +1200 Received: from chrisp3-dl.ws.atlnz.lc (10.33.13.101) by alliedtelesyn.co.nz (Mercury 1.48) with ESMTP; 21 Sep 12 20:36:06 +1200 Received: by chrisp3-dl.ws.atlnz.lc (Postfix, from userid 1030) id 1C8D2C2014; Fri, 21 Sep 2012 20:32:47 +1200 (NZST) From: judge.packham@gmail.com To: u-boot@lists.denx.de Date: Fri, 21 Sep 2012 20:32:15 +1200 Message-Id: <1348216335-18105-1-git-send-email-judge.packham@gmail.com> X-Mailer: git-send-email 1.7.10.2.dirty In-Reply-To: <505B34AD.7070801@freescale.com> References: <505B34AD.7070801@freescale.com> In-Reply-To: <505B34AD.7070801@freescale.com> Cc: Gerlando Falauto , Chris Packham , Chris Packham , Timur Tabi Subject: [U-Boot] [PATCH] SBx81CFC960: embed Fman microcode in the bootloader X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.11 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: u-boot-bounces@lists.denx.de Errors-To: u-boot-bounces@lists.denx.de From: Chris Packham Instead of storing the mircocode in a separate flash block simply embed the image as C code array of bytes. Cc: Wolfgang Denk Cc: Timur Tabi Cc: Gerlando Falauto Signed-off-by: Chris Packham --- So here's a patch that embeds the Fman firmware in a board specific way for one of our out of tree boards (based on the P2041RDB) if anyone feels like picking it up and generalising it. One thing that I haven't done yet is added code to figure out the offset from the bootloader base and pass that in the device tree for linux. board/alliedtelesis/SBx81CFC960/Makefile | 12 +- .../SBx81CFC960/fsl_fman_ucode_P2041_101_8.bin | Bin 0 -> 7240 bytes .../SBx81CFC960/fsl_fman_ucode_P2041_101_8.c | 607 ++++++++++++++++++++ drivers/net/fm/fm.c | 2 + include/configs/SBx81CFC960.h | 27 +- 5 files changed, 625 insertions(+), 23 deletions(-) create mode 100644 board/alliedtelesis/SBx81CFC960/fsl_fman_ucode_P2041_101_8.bin create mode 100644 board/alliedtelesis/SBx81CFC960/fsl_fman_ucode_P2041_101_8.c diff --git a/board/alliedtelesis/SBx81CFC960/Makefile b/board/alliedtelesis/SBx81CFC960/Makefile index b606873..f1e1d7c 100644 --- a/board/alliedtelesis/SBx81CFC960/Makefile +++ b/board/alliedtelesis/SBx81CFC960/Makefile @@ -26,6 +26,16 @@ include $(TOPDIR)/config.mk LIB = $(obj)lib$(BOARD).o +ifeq ($(CONFIG_FMAN_ENET),y) +FMAN_UCODE = fsl_fman_ucode_P2041_101_8.bin +FMAN_UCODE_C = $(patsubst %.bin,%.c,$(FMAN_UCODE)) +FMAN_UCODE_OBJ = $(patsubst %.bin,%.o,$(FMAN_UCODE)) + +# xxd not in chroot. +#$(FMAN_UCODE_C): $(FMAN_UCODE) +# xxd -i $< $@ +endif + COBJS-y += $(BOARD).o COBJS-y += ddr.o COBJS-y += ddr_param.o @@ -33,7 +43,7 @@ COBJS-y += eth.o COBJS-y += law.o COBJS-$(CONFIG_PCI) += pci.o COBJS-y += tlb.o -COBJS-$(CONFIG_FMAN_ENET) += fman.o +COBJS-$(CONFIG_FMAN_ENET) += fman.o $(FMAN_UCODE_OBJ) SRCS := $(SOBJS:.o=.S) $(COBJS-y:.o=.c) OBJS := $(addprefix $(obj),$(COBJS-y)) diff --git a/board/alliedtelesis/SBx81CFC960/fsl_fman_ucode_P2041_101_8.bin b/board/alliedtelesis/SBx81CFC960/fsl_fman_ucode_P2041_101_8.bin new file mode 100644 index 0000000000000000000000000000000000000000..db4477f6f5276431664c752f60ad37a504082795 GIT binary patch literal 7240 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