Changeset 14850


Ignore:
Timestamp:
2009-03-12T09:54:04+01:00 (8 years ago)
Author:
florian
Message:

[brcm63xx] add support for AGPF-S0 (Pirelli Alice Gate VoIP 2 Plus Wi-Fi) #4366

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/brcm63xx/files/arch/mips/bcm63xx/boards/board_bcm963xx.c

    r14789 r14850  
    261261        .has_ehci0 = 1, 
    262262}; 
     263 
     264static struct board_info __initdata board_AGPFS0 = { 
     265        .name                           = "AGPF-S0", 
     266        .expected_cpu_id                = 0x6358, 
     267 
     268        .has_enet0                      = 1, 
     269        .has_enet1                      = 1, 
     270        .has_pci                        = 1, 
     271 
     272        .enet0 = { 
     273                .has_phy                = 1, 
     274                .use_internal_phy       = 1, 
     275        }, 
     276 
     277        .enet1 = { 
     278                .force_speed_100        = 1, 
     279                .force_duplex_full      = 1, 
     280        }, 
     281 
     282        .has_ohci0 = 1, 
     283        .has_ehci0 = 1, 
     284}; 
    263285#endif 
    264286 
     
    283305        &board_96358vw, 
    284306        &board_96358vw2, 
     307        &board_AGPFS0, 
    285308#endif 
    286309}; 
  • trunk/target/linux/brcm63xx/image/Makefile

    r14305 r14850  
    3535#               -b $(2) -c $(3) -e $(KERNEL_ENTRY) -l $(LOADADDR) 
    3636 
     37        $(call prepare_generic_squashfs,$(BIN_DIR)/openwrt-$(2)-$(1)-cfe.bin) 
     38endef 
     39 
     40define Image/Build/CFEAGPF 
     41        # Generate the tagged image 
     42        $(STAGING_DIR_HOST)/bin/imagetag -i $(KDIR)/vmlinux.lzma.cfe -f $(KDIR)/root.$(1) \ 
     43                -o $(BIN_DIR)/openwrt-$(2)-$(1)-cfe.bin \ 
     44                -b $(2) -c $(3) -e $(LOADADDR) -l $(LOADADDR) \ 
     45                -v 8 -m IMAGE -k 131072 
    3746        $(call prepare_generic_squashfs,$(BIN_DIR)/openwrt-$(2)-$(1)-cfe.bin) 
    3847endef 
     
    105114        # Inventel Livebox 
    106115        $(call Image/Build/RedBoot,livebox) 
     116        # Pirelli Alice Gate VoIP 2 Plus Wi-Fi AGPF-S0 
     117        $(call Image/Build/CFEAGPF,$(1),AGPF-S0,6358) 
    107118endef 
    108119 
  • trunk/tools/firmware-utils/src/imagetag.c

    r14832 r14850  
    2323#define DEFAULT_FW_OFFSET               0x10000 
    2424#define DEFAULT_FLASH_START             0xBFC00000 
    25 #define FLASH_BS                        (64 * 1024)             /* TODO: Make this a command line option */ 
     25#define DEFAULT_FLASH_BS                (64 * 1024) 
    2626 
    2727/* Kernel header */ 
     
    119119int tagfile(const char *kernel, const char *rootfs, const char *bin, 
    120120            const char *boardid, const char *chipid, const uint32_t fwaddr, 
    121             const uint32_t loadaddr, const uint32_t entry) 
     121            const uint32_t loadaddr, const uint32_t entry, 
     122            const char *ver, const char *magic2, const uint32_t flash_bs) 
    122123{ 
    123124        struct imagetag tag; 
     
    169170        /* Build the rootfs address and length (start and end do need to be aligned on flash erase block boundaries */ 
    170171        rootfsoff = kerneloff + kernellen; 
    171         rootfsoff = (rootfsoff % FLASH_BS) > 0 ? (((rootfsoff / FLASH_BS) + 1) * FLASH_BS) : rootfsoff; 
     172        rootfsoff = (rootfsoff % flash_bs) > 0 ? (((rootfsoff / flash_bs) + 1) * flash_bs) : rootfsoff; 
    172173        rootfslen = getlen(rootfsfile); 
    173         rootfslen = (rootfslen % FLASH_BS) > 0 ? (((rootfslen / FLASH_BS) + 1) * FLASH_BS) : rootfslen; 
     174        rootfslen = (rootfslen % flash_bs) > 0 ? (((rootfslen / flash_bs) + 1) * flash_bs) : rootfslen; 
    174175 
    175176        /* Seek to the start of the kernel */ 
     
    203204 
    204205        /* Build the tag */ 
    205         strcpy(tag.tagver, IMAGETAG_VER); 
     206        strcpy(tag.tagver, ver); 
    206207        strncpy(tag.sig1, IMAGETAG_MAGIC1, sizeof(tag.sig1) - 1); 
    207         strncpy(tag.sig2, IMAGETAG_MAGIC2, sizeof(tag.sig2) - 1); 
     208        strncpy(tag.sig2, magic2, sizeof(tag.sig2) - 1); 
    208209        strcpy(tag.chipid, chipid); 
    209210        strcpy(tag.boardid, boardid); 
     
    239240{ 
    240241        int c; 
    241         char *kernel, *rootfs, *bin, *boardid, *chipid; 
     242        char *kernel, *rootfs, *bin, *boardid, *chipid, *magic2, *ver; 
    242243        uint32_t flashstart, fwoffset, loadaddr, entry; 
    243         uint32_t fwaddr; 
     244        uint32_t fwaddr, flash_bs; 
    244245         
    245246        kernel = rootfs = bin = boardid = chipid = NULL; 
     
    249250        fwoffset = DEFAULT_FW_OFFSET; 
    250251        loadaddr = IMAGETAG_DEFAULT_LOADADDR; 
    251  
    252         printf("Broadcom image tagger - v0.1.0\n"); 
     252        flash_bs = DEFAULT_FLASH_BS; 
     253 
     254        printf("Broadcom image tagger - v0.1.1\n"); 
    253255        printf("Copyright (C) 2008 Axel Gembe\n"); 
    254256 
    255         while ((c = getopt(argc, argv, "i:f:o:b:c:s:n:l:e:h")) != -1) { 
     257        while ((c = getopt(argc, argv, "i:f:o:b:c:s:n:v:m:k:l:e:h")) != -1) { 
    256258                switch (c) { 
    257259                        case 'i': 
     
    275277                        case 'n': 
    276278                                fwoffset = strtoul(optarg, NULL, 16); 
     279                                break; 
     280                        case 'v': 
     281                                ver = optarg; 
     282                                break; 
     283                        case 'm': 
     284                                magic2 = optarg; 
     285                                break; 
     286                        case 'k': 
     287                                flash_bs = strtoul(optarg, NULL, 16); 
    277288                                break; 
    278289                        case 'l': 
     
    290301                                fprintf(stderr, "-b <boardid>  - The board id to set in the image (i.e. \"96345GW2\")\n"); 
    291302                                fprintf(stderr, "-c <chipid>   - The chip id to set in the image (i.e. \"6345\")\n"); 
    292                                 fprintf(stderr, "-s <flashstart>   - \n"); 
     303                                fprintf(stderr, "-s <flashstart>   - Flash start address (i.e. \"0xBFC00000\"\n"); 
    293304                                fprintf(stderr, "-n <fwoffset>   - \n"); 
     305                                fprintf(stderr, "-v <version>   - \n"); 
     306                                fprintf(stderr, "-m <magic2>    - \n"); 
     307                                fprintf(stderr, "-k <flash_bs>  - \n"); 
    294308                                fprintf(stderr, "-l <loadaddr> - Address where the kernel expects to be loaded (defaults to 0x80010000)\n"); 
    295309                                fprintf(stderr, "-e <entry>    - Address where the kernel entry point will end up\n"); 
     
    309323        } 
    310324 
     325        /* Fallback to defaults */ 
     326 
    311327        fwaddr = flashstart + fwoffset; 
    312  
    313         return tagfile(kernel, rootfs, bin, boardid, chipid, fwaddr, loadaddr, entry); 
     328         
     329        if (!magic2) { 
     330                magic2 = malloc(sizeof(char) * 14); 
     331                if (!magic2) { 
     332                        perror("malloc"); 
     333                        return 1; 
     334                } 
     335                strcpy(magic2, IMAGETAG_MAGIC2); 
     336        } 
     337 
     338        if (!ver) { 
     339                ver = malloc(sizeof(char) * 4); 
     340                if (!ver) { 
     341                        perror("malloc"); 
     342                        return 1; 
     343                } 
     344                strcpy(ver, IMAGETAG_VER); 
     345        } 
     346 
     347        return tagfile(kernel, rootfs, bin, boardid, chipid, fwaddr, loadaddr, entry, ver, magic2, flash_bs); 
    314348} 
Note: See TracChangeset for help on using the changeset viewer.