diff options
Diffstat (limited to 'target/linux/brcm63xx/image')
21 files changed, 0 insertions, 3408 deletions
diff --git a/target/linux/brcm63xx/image/Makefile b/target/linux/brcm63xx/image/Makefile deleted file mode 100644 index cc1660aa25..0000000000 --- a/target/linux/brcm63xx/image/Makefile +++ /dev/null @@ -1,179 +0,0 @@ -# -# Copyright (C) 2006-2015 OpenWrt.org -# Copyright (C) 2016 LEDE project -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# -include $(TOPDIR)/rules.mk -include $(INCLUDE_DIR)/image.mk - -LOADADDR = 0x80010000 # RAM start + 64K -KERNEL_ENTRY = $(LOADADDR) # Newer kernels add a jmp to the kernel_entry at the start of the binary -LOADER_ENTRY = 0x80a00000 # RAM start + 10M, for relocate -RAMSIZE = 0x02000000 # 32MB -LZMA_TEXT_START = 0x81800000 # 32MB - 8MB - -LOADER_MAKEOPTS= \ - KDIR=$(KDIR) \ - LOADADDR=$(LOADADDR) \ - KERNEL_ENTRY=$(KERNEL_ENTRY) \ - RAMSIZE=$(RAMSIZE) \ - LZMA_TEXT_START=$(LZMA_TEXT_START) \ - -RELOCATE_MAKEOPTS= \ - CACHELINE_SIZE=16 \ - KERNEL_ADDR=$(KERNEL_ENTRY) \ - CROSS_COMPILE=$(TARGET_CROSS) \ - LZMA_TEXT_START=$(LOADER_ENTRY) - -define Build/Compile - rm -rf $(KDIR)/relocate - $(CP) ../../generic/image/relocate $(KDIR) - $(MAKE) -C $(KDIR)/relocate $(RELOCATE_MAKEOPTS) -endef - -### Kernel scripts ### -define Build/hcs-initramfs - $(STAGING_DIR_HOST)/bin/hcsmakeimage --magic_bytes=$(HCS_MAGIC_BYTES) \ - --rev_maj=$(HCS_REV_MAJ) --rev_min=$(HCS_REV_MIN) --input_file=$@ \ - --output_file=$@.hcs --ldaddress=$(LOADADDR) - mv $@.hcs $@ -endef - -define Build/loader-lzma - rm -rf $@.src - $(MAKE) -C lzma-loader \ - $(LOADER_MAKEOPTS) \ - PKG_BUILD_DIR="$@.src" \ - TARGET_DIR="$(dir $@)" \ - LOADER_DATA="$@" \ - LOADER_NAME="$(notdir $@)" \ - compile loader.$(1) - mv "$@.$(1)" "$@" - rm -rf $@.src -endef - -define Build/lzma - # CFE is a LZMA nazi! It took me hours to find out the parameters! - # Also I think lzma has a bug cause it generates different output depending on - # if you use stdin / stdout or not. Use files instead of stdio here, cause - # otherwise CFE will complain and not boot the image. - $(STAGING_DIR_HOST)/bin/lzma e $@ -d22 -fb64 -a1 $@.lzma - mv $@.lzma $@ -endef - -define Build/lzma-cfe - # Strip out the length, CFE doesn't like this - dd if=$@ of=$@.lzma.cfe bs=5 count=1 - dd if=$@ of=$@.lzma.cfe ibs=13 obs=5 skip=1 seek=1 conv=notrunc - mv $@.lzma.cfe $@ -endef - -define Build/relocate-kernel - # CFE only allows ~4 MiB for the uncompressed kernels, but uncompressed - # kernel might get larger than that, so let CFE unpack and load at a - # higher address and make the kernel relocate itself to the expected - # location. - ( \ - dd if=$(KDIR)/relocate/loader.bin bs=32 conv=sync && \ - perl -e '@s = stat("$@"); print pack("N", @s[7])' && \ - cat $@ \ - ) > $@.relocate - mv $@.relocate $@ -endef - -### Image scripts ### -define rootfspad/jffs2-128k ---align-rootfs -endef -define rootfspad/jffs2-64k ---align-rootfs -endef -define rootfspad/squashfs -endef - -define Image/LimitName16 -$(shell expr substr "$(1)" 1 16) -endef - -define Image/FileSystemStrip -$(firstword $(subst +,$(space),$(subst root.,,$(notdir $(1))))) -endef - -define Build/cfe-bin - $(STAGING_DIR_HOST)/bin/imagetag -i $(IMAGE_KERNEL) -f $(IMAGE_ROOTFS) \ - --output $@ --boardid $(CFE_BOARD_ID) --chipid $(CFE_CHIP_ID) \ - --entry $(LOADER_ENTRY) --load-addr $(LOADER_ENTRY) \ - --info1 "$(call Image/LimitName16,$(DEVICE_NAME))" \ - --info2 "$(call Image/FileSystemStrip,$(IMAGE_ROOTFS))" \ - $(call rootfspad/$(call Image/FileSystemStrip,$(IMAGE_ROOTFS))) \ - $(CFE_EXTRAS) $(1) -endef - -define Build/cfe-old-bin - $(TOPDIR)/scripts/brcmImage.pl -t -p \ - -o $@ -b $(CFE_BOARD_ID) -c $(CFE_CHIP_ID) \ - -e $(LOADER_ENTRY) -a $(LOADER_ENTRY) \ - -k $(IMAGE_KERNEL) -r $(IMAGE_ROOTFS) \ - $(CFE_EXTRAS) -endef - -define Build/cfe-spw303v-bin - $(STAGING_DIR_HOST)/bin/imagetag -i $(IMAGE_KERNEL) -f $(IMAGE_ROOTFS) \ - --output $@ --boardid $(CFE_BOARD_ID) --chipid $(CFE_CHIP_ID) \ - --entry $(LOADER_ENTRY) --load-addr $(LOADER_ENTRY) \ - $(call rootfspad/$(call Image/FileSystemStrip,$(IMAGE_ROOTFS))) \ - $(CFE_EXTRAS) $(1) -endef - -define Build/spw303v-bin - $(STAGING_DIR_HOST)/bin/spw303v -i $@ -o $@.spw303v - mv $@.spw303v $@ -endef - -define Build/zyxel-bin - $(STAGING_DIR_HOST)/bin/zyxbcm -i $@ -o $@.zyxel - mv $@.zyxel $@ -endef - -define Build/redboot-bin - # Prepare kernel and rootfs - dd if=$(IMAGE_KERNEL) of=$(BIN_DIR)/$(REDBOOT_PREFIX)-vmlinux.gz bs=65536 conv=sync - dd if=$(IMAGE_ROOTFS) of=$(BIN_DIR)/$(REDBOOT_PREFIX)-$(notdir $(IMAGE_ROOTFS)) bs=64k conv=sync - echo -ne \\xDE\\xAD\\xC0\\xDE >> $(BIN_DIR)/$(REDBOOT_PREFIX)-$(notdir $(IMAGE_ROOTFS)) - # Generate the scripted image - $(TOPDIR)/scripts/redboot-script.pl \ - -k $(BIN_DIR)/$(REDBOOT_PREFIX)-vmlinux.gz \ - -r $(BIN_DIR)/$(REDBOOT_PREFIX)-$(notdir $(IMAGE_ROOTFS)) \ - -a $(strip $(LOADER_ENTRY)) -f 0xbe430000 -l 0x7c0000 \ - -s 0x1000 -t 20 -o $@.redbootscript - dd if="$@.redbootscript" of="$@.redbootscript.padded" bs=4096 conv=sync - cat \ - "$@.redbootscript.padded" \ - "$(BIN_DIR)/$(REDBOOT_PREFIX)-vmlinux.gz" \ - "$(BIN_DIR)/$(REDBOOT_PREFIX)-$(notdir $(IMAGE_ROOTFS))" \ - > "$@" -endef - -define Device/Default - PROFILES = Default $$(DEVICE_NAME) - KERNEL_DEPENDS = $$(wildcard ../dts/$$(DEVICE_DTS).dts) - KERNEL_INITRAMFS_SUFFIX := .elf - DEVICE_DTS_DIR := ../dts - SOC = bcm$$(CFE_CHIP_ID) - DEVICE_DTS = $$(SOC)-$(subst _,-,$(1)) -endef - -ATH5K_PACKAGES := kmod-ath5k wpad-basic -ATH9K_PACKAGES := kmod-ath9k wpad-basic -B43_PACKAGES := kmod-b43 wpad-basic -BRCMWL_PACKAGES := kmod-brcm-wl nas wlc -RT28_PACKAGES := kmod-rt2800-pci wpad-basic -RT61_PACKAGES := kmod-rt61-pci wpad-basic -USB1_PACKAGES := kmod-usb-ohci kmod-usb-ledtrig-usbport -USB2_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport - -include bcm63xx.mk - -$(eval $(call BuildImage)) diff --git a/target/linux/brcm63xx/image/README.images-bcm63xx b/target/linux/brcm63xx/image/README.images-bcm63xx deleted file mode 100644 index 91b6d019ee..0000000000 --- a/target/linux/brcm63xx/image/README.images-bcm63xx +++ /dev/null @@ -1,127 +0,0 @@ -The image neede to flash onto a Broadcom 63xx-series board depends on the -board, method you are using to flash, and, for web-based flash, on the version -of the Broadcom code your router uses. - -There are two major revisions of the Broadcom code as far as imagetags are -concerned, before 3.08 and after 3.08, however there are some variations -within in that, either due to vendor differences or due to changes at -Broadcom (it's not clear yet which is the case). In addtion Pirelli modified -the Broadcom code, so Alice Gate models use a different imagetag than any -other vendor. - -The imagetag format for flashing via CFE is the same for almost all the -boards, and is the same for all images generated by the imagetag utility. -Images flashable using cfe are labelled openwrt-<board>-<filesystem>-cfe.bin - -The imagetags for tftp/ftp flashing is based on Broadcom 3.00-3.04 imagetags -and is known to be correct as the source code GPL and is available for reading. - -Broadcom code 2.21 is based on the BT Voyager firmware image I looked at. It -may in fact be BT Voyager-specific. 2.21 is actually more difficult to deal -with the imagetag from 3.00 as it has three different CRC calculations in -addtition to the header CRC. - -Broadcom 3.00-3.02 flashing has been tested on Comtrend CT-5261, CT-536 and -Tecom GW6000, and is the version of the flashing that was present before the -imagetags were split by broadcom code version (early June 2009) - -3.04 is guessed to be the same as 3.00-3.02 based on available information - -Broadom 3.06 is thought to be the same as 3.00-3.02, however the only 3.06 -this author (Daniel Dickinson) has seen is the Alice Gate (Pirelli) firmware -which is known to be different due to vendor (Pirelli) modifications to the -Broadcom code. - -Broadcom 3.10 uses an imagetag that is believed to apply to all 3.10 and 3.12 -versions, and has been tested on the Tecom GW6200. This version introdec changes to -the imagetag to deal with TR69 (a remote rouer management system developed by the -DSL forum). There is a field for vendor-specific information, that at least in some -cases is not optional. It is based on the hexedit of a neufbox4 firmware image, the -information in https://dev.openwrt.org/ticket/4987, and the hexedit of a Tecom -GW6200 image. - -Some boards share the same tag format, but require vendor-specific fields in -the board. In that case the tagid is shared, but the filename of the generated -image reflects the router for which the image was created. - -router |method | codever |filename -+-------------+-------------+---------+--------------------------------------- -|any |cfe+most web | any |openwrt-<board>-<fs>-cfe.bin -|AGVoIP2+WiFi |cfe |alice3.06|openwrt-AGV2+W-cfe-<fs>-cfe.bin -|AGVoIP2+WiFi |web |alice3.06|openwrt-AGV2+W-cfe-<fs>-cfe.bin -|CT536 |web |3.02 |openwrt-CT536_CT5621-<fs>-cfe.bin -|CT5621 |web |3.02 |openwrt-CT536_CT5621-<fs>-cfe.bin -|DG834GT |web |3.02 |openwrt-DG834GT_DG834PN-<fs>-cfe.bin -|DG834PN |web |3.02 |openwrt-DG834GT_DG834PN-<fs>-cfe.bin -|DSL-2640B |web |3.10 |openwrt-DSL2640B-<fs>-cfe.bin -|DSL-2740B |web |3.10 |openwrt-DSL2670B-<fs>-cfe.bin -|F5D7633 |web |3.10 |openwrt-F5D7633-<fs>-cfe.bin -|F@ST2404 |web |3.0X? |openwrt-F@ST2404-cfe-<fs>-cfe.bin -|F@ST2404 |web |3.1X? |openwrt-F@ST2404-<fs>-cfe.bin -|GW6000 |web |3.00 |openwrt-GW6000-<fs>-cfe.bin -|GW6200 |web |3.10 |openwrt-GW6200-<fs>-cfe.bin -|Neufbox4 |web |3.12 |openwrt-NEUFBOX4-<fs>-cfe.bin -|TD8810A |web |3.06 |openwrt-TD8810-<fs>-cfe.bin -|TD8810B |web |3.06 |openwrt-TD8810-<fs>-cfe.bin -|TD8811A |web |3.06 |openwrt-TD8811-<fs>-cfe.bin -|TD8811B |web |3.06 |openwrt-TD881-<fs>-cfe.bin -|TD8900GB |web |3.06 |openwrt-TD8900DB<fs>-cfe.bin -|USR9108 |web |3.0X? |openwrt-USR9108-<fs>-cfe.bin -|V2091_BTR |web |2.21 |openwrt-V2091_BTR-<fs>-cfe.bin -|V2091_ROI |web |2.21 |openwrt-V2091-<fs>-cfe.bin -|V2091_WB |web |2.21 |openwrt-V2091-<fs>-cfe.bin -|V210_BTR |web |2.21 |openwrt-V210_BTR-<fs>-cfe.bin -|V210_ROI |web |2.21 |openwrt-V210-ROI_WB<fs>-cfe.bin -|V210_WB |web |2.21 |openwrt-V210-ROI_WB<fs>-cfe.bin -|V2110 |web |2.21 |openwrt-V2110-<fs>-cfe.bin -|V2110_AA |web |2.21 |openwrt-V2110-<fs>-cfe.bin -|V2110_ROI |web |2.21 |openwrt-V2110-<fs>-cfe.bin -|V2500V |web |2.21 |openwrt-V2500V<fs>-cfe.bin -|V2500V_AA |web |2.21 |openwrt-V2500V-<fs>-cfe.bin -|V2500V_SIP_CLUB |web |2.21 |openwrt-V2500V-<fs>-cfe.bin - -Old imagetag routers --------------------- -Davolink DV201AMR - -Redboot routers ---------------- -Inventel Livebox - -Known router->code versions ---------------------------- - -Vendor |Model |Code Ver ----------------------------+------------------------------------------+-------- -Belkin |F5D7633 |3.10 -British Telecom (BT) |Voyager V2091_BTR |2.21 -British Telecom (BT) |Voyager V2091_ROI |2.21 -British Telecom (BT) |Voyager V2091_WB |2.21 -British Telecom (BT) |Voyager V210_BTR |2.21 -British Telecom (BT) |Voyager V210_ROI |2.21 -British Telecom (BT) |Voyager V210_WB |2.21 -British Telecom (BT) |Voyager V2110 |2.21 -British Telecom (BT) |Voyager V2110_AA |2.21 -British Telecom (BT) |Voyager V2110_ROI |2.21 -British Telecom (BT) |Voyager V220V |2.21 -British Telecom (BT) |Voyager V2500V |2.21 -British Telecom (BT) |Voyager V2500V_AA |2.21 -British Telecom (BT) |Voyager V2500V_SIP_CLUB |2.21 -Comtrend |CT-5261 |3.02 -Comtrend |CT-536 |3.02 -D-Link |DSL-2640B |3.10 -D-Link |DSL-2670B |3.10 -NetGear |DG834GT |3.02 -NetGear |DG834PN |3.02 -Neuf Cegetel |Neufbox 4 |3.12 -Pirelli |Alice Gate Wi-Fi (+VoIP models?) |ag 3.06 -Sagem |F@ST2404 |? -TP-Link |TD-8810A |3.06 -TP-Link |TD-8810B |3.06 -TP-Link |TD-8811A |3.06 -TP-Link |TD-8811B |3.06 -TP-Link |TD-W8900GB |3.06 -Tecom |GW6000 |3.00 -Tecom |GW6200 |3.10 -USR |9108 |? - diff --git a/target/linux/brcm63xx/image/bcm63xx.mk b/target/linux/brcm63xx/image/bcm63xx.mk deleted file mode 100644 index 265fa0958a..0000000000 --- a/target/linux/brcm63xx/image/bcm63xx.mk +++ /dev/null @@ -1,1151 +0,0 @@ - -# -# BCM33XX/BCM63XX Profiles -# - -define Device/bcm33xx - KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | loader-lzma bin | hcs-initramfs - IMAGES := - HCS_MAGIC_BYTES := - HCS_REV_MIN := - HCS_REV_MAJ := -endef -DEVICE_VARS += HCS_MAGIC_BYTES HCS_REV_MIN HCS_REV_MAJ - -define Device/bcm63xx - FILESYSTEMS := squashfs jffs2-64k jffs2-128k - KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma | lzma-cfe - KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | loader-lzma elf - IMAGES := cfe.bin - IMAGE/cfe.bin := cfe-bin --pad $$$$(shell expr $$$$(FLASH_MB) / 2) - IMAGE/cfe-4M.bin := cfe-bin --pad 2 - IMAGE/cfe-8M.bin := cfe-bin --pad 4 - IMAGE/cfe-16M.bin := cfe-bin --pad 8 - IMAGE/cfe-bc221.bin := cfe-bin --layoutver 5 - IMAGE/cfe-old.bin := cfe-old-bin - IMAGE/sysupgrade.bin := cfe-bin - BLOCK_SIZE := 0x10000 - IMAGE_OFFSET := - FLASH_MB := 4 - CFE_BOARD_ID := - CFE_CHIP_ID := - CFE_EXTRAS = --block-size $$(BLOCK_SIZE) --image-offset $$(if $$(IMAGE_OFFSET),$$(IMAGE_OFFSET),$$(BLOCK_SIZE)) -endef -DEVICE_VARS += BLOCK_SIZE FLASH_MB IMAGE_OFFSET -DEVICE_VARS += CFE_BOARD_ID CFE_CHIP_ID CFE_EXTRAS - -define Device/bcm63xx_netgear - $(Device/bcm63xx) - DEVICE_VENDOR := NETGEAR - IMAGES := factory.chk sysupgrade.bin - IMAGE/factory.chk := cfe-bin | netgear-chk - NETGEAR_BOARD_ID := - NETGEAR_REGION := -endef -DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_REGION - -define Device/bcm63xx_redboot - FILESYSTEMS := squashfs - KERNEL := kernel-bin | append-dtb | relocate-kernel | gzip - KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | loader-lzma elf - IMAGES := redboot.bin - IMAGE/redboot.bin := redboot-bin - REDBOOT_PREFIX := $$(IMAGE_PREFIX) -endef -DEVICE_VARS += REDBOOT_PREFIX - -### Generic ### -define Device/brcm_bcm963281tan - $(Device/bcm63xx) - DEVICE_VENDOR := Generic - DEVICE_MODEL := 963281TAN - IMAGES := cfe-4M.bin cfe-8M.bin cfe-16M.bin - CFE_BOARD_ID := 963281TAN - CFE_CHIP_ID := 6328 -endef -TARGET_DEVICES += brcm_bcm963281tan - -define Device/brcm_bcm96328avng - $(Device/bcm63xx) - DEVICE_VENDOR := Generic - DEVICE_MODEL := 96328avng - IMAGES := cfe-4M.bin cfe-8M.bin cfe-16M.bin - CFE_BOARD_ID := 96328avng - CFE_CHIP_ID := 6328 -endef -TARGET_DEVICES += brcm_bcm96328avng - -define Device/brcm_bcm96338gw - $(Device/bcm63xx) - DEVICE_VENDOR := Generic - DEVICE_MODEL := 96338GW - CFE_BOARD_ID := 6338GW - CFE_CHIP_ID := 6338 -endef -TARGET_DEVICES += brcm_bcm96338gw - -define Device/brcm_bcm96338w - $(Device/bcm63xx) - DEVICE_VENDOR := Generic - DEVICE_MODEL := 96338W - CFE_BOARD_ID := 6338W - CFE_CHIP_ID := 6338 -endef -TARGET_DEVICES += brcm_bcm96338w - -define Device/brcm_bcm96345gw2 - $(Device/bcm63xx) - DEVICE_VENDOR := Generic - DEVICE_MODEL := 96345GW2 - IMAGES += cfe-bc221.bin - CFE_BOARD_ID := 96345GW2 - CFE_CHIP_ID := 6345 - DEFAULT := n -endef -TARGET_DEVICES += brcm_bcm96345gw2 - -define Device/brcm_bcm96348gw - $(Device/bcm63xx) - DEVICE_VENDOR := Generic - DEVICE_MODEL := 96348GW - IMAGES += cfe-bc221.bin - CFE_BOARD_ID := 96348GW - CFE_CHIP_ID := 6348 -endef -TARGET_DEVICES += brcm_bcm96348gw - -define Device/brcm_bcm96348gw-10 - $(Device/bcm63xx) - DEVICE_VENDOR := Generic - DEVICE_MODEL := 96348GW-10 - CFE_BOARD_ID := 96348GW-10 - CFE_CHIP_ID := 6348 -endef -TARGET_DEVICES += brcm_bcm96348gw-10 - -define Device/brcm_bcm96348gw-11 - $(Device/bcm63xx) - DEVICE_VENDOR := Generic - DEVICE_MODEL := 96348GW-11 - CFE_BOARD_ID := 96348GW-11 - CFE_CHIP_ID := 6348 -endef -TARGET_DEVICES += brcm_bcm96348gw-11 - -define Device/brcm_bcm96348r - $(Device/bcm63xx) - DEVICE_VENDOR := Generic - DEVICE_MODEL := 96348R - CFE_BOARD_ID := 96348R - CFE_CHIP_ID := 6348 -endef -TARGET_DEVICES += brcm_bcm96348r - -define Device/brcm_bcm96358vw - $(Device/bcm63xx) - DEVICE_VENDOR := Generic - DEVICE_MODEL := 96358VW - CFE_BOARD_ID := 96358VW - CFE_CHIP_ID := 6358 -endef -TARGET_DEVICES += brcm_bcm96358vw - -define Device/brcm_bcm96358vw2 - $(Device/bcm63xx) - DEVICE_VENDOR := Generic - DEVICE_MODEL := 96358VW2 - CFE_BOARD_ID := 96358VW2 - CFE_CHIP_ID := 6358 -endef -TARGET_DEVICES += brcm_bcm96358vw2 - -define Device/brcm_bcm96368mvngr - $(Device/bcm63xx) - DEVICE_VENDOR := Generic - DEVICE_MODEL := 96368MVNgr - CFE_BOARD_ID := 96368MVNgr - CFE_CHIP_ID := 6368 -endef -TARGET_DEVICES += brcm_bcm96368mvngr - -define Device/brcm_bcm96368mvwg - $(Device/bcm63xx) - DEVICE_VENDOR := Generic - DEVICE_MODEL := 96368MVWG - CFE_BOARD_ID := 96368MVWG - CFE_CHIP_ID := 6368 -endef -TARGET_DEVICES += brcm_bcm96368mvwg - -### Actiontec ### -define Device/actiontec_r1000h - $(Device/bcm63xx) - DEVICE_VENDOR := Actiontec - DEVICE_MODEL := R1000H - FILESYSTEMS := squashfs - CFE_BOARD_ID := 96368MVWG - CFE_CHIP_ID := 6368 - FLASH_MB := 32 - IMAGE_OFFSET := 0x20000 - DEVICE_PACKAGES := $(USB2_PACKAGES) $(BRCMWL_PACKAGES) -endef -TARGET_DEVICES += actiontec_r1000h - -### ADB ### -define Device/adb_a4001n - $(Device/bcm63xx) - DEVICE_VENDOR := ADB - DEVICE_MODEL := P.DG A4001N - CFE_BOARD_ID := 96328dg2x2 - CFE_CHIP_ID := 6328 - FLASH_MB := 8 - DEVICE_PACKAGES := $(USB2_PACKAGES) $(B43_PACKAGES) -endef -TARGET_DEVICES += adb_a4001n - -define Device/adb_a4001n1 - $(Device/bcm63xx) - DEVICE_VENDOR := ADB - DEVICE_MODEL := P.DG A4001N1 - IMAGES += sysupgrade.bin - CFE_BOARD_ID := 963281T_TEF - CFE_CHIP_ID := 6328 - FLASH_MB := 16 - DEVICE_PACKAGES := $(USB2_PACKAGES) $(B43_PACKAGES) -endef -TARGET_DEVICES += adb_a4001n1 - -define Device/adb_av4202n - $(Device/bcm63xx) - DEVICE_VENDOR := ADB - DEVICE_MODEL := P.DG AV4202N - IMAGE_OFFSET := 0x20000 - CFE_BOARD_ID := 96368_Swiss_S1 - CFE_CHIP_ID := 6368 - DEVICE_PACKAGES := $(USB2_PACKAGES) $(B43_PACKAGES) -endef -TARGET_DEVICES += adb_av4202n - -### Alcatel ### -define Device/alcatel_rg100a - $(Device/bcm63xx) - DEVICE_VENDOR := Alcatel - DEVICE_MODEL := RG100A - CFE_BOARD_ID := 96358VW2 - CFE_CHIP_ID := 6358 - BLOCK_SIZE := 0x20000 - DEVICE_PACKAGES := $(USB2_PACKAGES) $(B43_PACKAGES) -endef -TARGET_DEVICES += alcatel_rg100a - -### Asmax ### -define Device/asmax_ar-1004g - $(Device/bcm63xx) - DEVICE_VENDOR := Asmax - DEVICE_MODEL := AR 1004g - CFE_BOARD_ID := 96348GW-10 - CFE_CHIP_ID := 6348 - DEVICE_PACKAGES := $(B43_PACKAGES) - DEFAULT := n -endef -TARGET_DEVICES += asmax_ar-1004g - -### Belkin ### -define Device/belkin_f5d7633 - $(Device/bcm63xx) - DEVICE_VENDOR := Belkin - DEVICE_MODEL := F5D7633 - CFE_BOARD_ID := 96348GW-10 - CFE_CHIP_ID := 6348 - BLOCK_SIZE := 0x20000 - DEVICE_PACKAGES := $(B43_PACKAGES) - DEFAULT := n -endef -TARGET_DEVICES += belkin_f5d7633 - -### Broadcom ### -define Device/brcm_bcm96318ref - $(Device/bcm63xx) - DEVICE_VENDOR := Broadcom - DEVICE_MODEL := BCM96318REF reference board - IMAGES := - CFE_BOARD_ID := 96318REF - CFE_CHIP_ID := 6318 - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB2_PACKAGES) kmod-bcm63xx-udc -endef -TARGET_DEVICES += brcm_bcm96318ref - -define Device/brcm_bcm96318ref-p300 - $(Device/bcm63xx) - DEVICE_VENDOR := Broadcom - DEVICE_MODEL := BCM96318REF_P300 reference board - IMAGES := - CFE_BOARD_ID := 96318REF_P300 - CFE_CHIP_ID := 6318 - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB2_PACKAGES) kmod-bcm63xx-udc -endef -TARGET_DEVICES += brcm_bcm96318ref-p300 - -define Device/brcm_bcm963268bu-p300 - $(Device/bcm63xx) - DEVICE_VENDOR := Broadcom - DEVICE_MODEL := BCM963268BU_P300 reference board - IMAGES := - CFE_BOARD_ID := 963268BU_P300 - CFE_CHIP_ID := 63268 - DEVICE_PACKAGES := $(USB2_PACKAGES) kmod-bcm63xx-udc -endef -TARGET_DEVICES += brcm_bcm963268bu-p300 - -define Device/brcm_bcm963269bhr - $(Device/bcm63xx) - DEVICE_VENDOR := Broadcom - DEVICE_MODEL := BCM963269BHR reference board - IMAGES := - CFE_BOARD_ID := 963269BHR - CFE_CHIP_ID := 63268 - SOC := bcm63269 - DEVICE_PACKAGES := $(USB2_PACKAGES) kmod-bcm63xx-udc -endef -TARGET_DEVICES += brcm_bcm963269bhr - -### BT ### -define Device/bt_home-hub-2-a - $(Device/bcm63xx) - DEVICE_VENDOR := BT - DEVICE_MODEL := Home Hub 2.0 - DEVICE_VARIANT := A - CFE_BOARD_ID := HOMEHUB2A - CFE_CHIP_ID := 6358 - BLOCK_SIZE := 0x20000 - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += bt_home-hub-2-a - -define Device/bt_voyager-2110 - $(Device/bcm63xx) - DEVICE_VENDOR := BT - DEVICE_MODEL := Voyager 2110 - CFE_BOARD_ID := V2110 - CFE_CHIP_ID := 6348 - CFE_EXTRAS += --layoutver 5 - DEVICE_PACKAGES := $(B43_PACKAGES) - DEFAULT := n -endef -TARGET_DEVICES += bt_voyager-2110 - -define Device/bt_voyager-2500v-bb - $(Device/bcm63xx) - DEVICE_VENDOR := BT - DEVICE_MODEL := Voyager 2500V - CFE_BOARD_ID := V2500V_BB - CFE_CHIP_ID := 6348 - CFE_EXTRAS += --layoutver 5 - DEVICE_PACKAGES := $(B43_PACKAGES) - DEFAULT := n -endef -TARGET_DEVICES += bt_voyager-2500v-bb - -### Comtrend ### -define Device/comtrend_ar-5315u - $(Device/bcm63xx) - DEVICE_VENDOR := Comtrend - DEVICE_MODEL := AR-5315u - IMAGES += sysupgrade.bin - CFE_BOARD_ID := 96318A-1441N1 - CFE_CHIP_ID := 6318 - FLASH_MB := 16 - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += comtrend_ar-5315u - -define Device/comtrend_ar-5381u - $(Device/bcm63xx) - DEVICE_VENDOR := Comtrend - DEVICE_MODEL := AR-5381u - IMAGES += sysupgrade.bin - CFE_BOARD_ID := 96328A-1241N - CFE_CHIP_ID := 6328 - FLASH_MB := 16 - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += comtrend_ar-5381u - -define Device/comtrend_ar-5387un - $(Device/bcm63xx) - DEVICE_VENDOR := Comtrend - DEVICE_MODEL := AR-5387un - IMAGES += sysupgrade.bin - CFE_BOARD_ID := 96328A-1441N1 - CFE_CHIP_ID := 6328 - FLASH_MB := 16 - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += comtrend_ar-5387un - -define Device/comtrend_ct-536plus - $(Device/bcm63xx) - DEVICE_VENDOR := Comtrend - DEVICE_MODEL := CT-536+ - DEVICE_ALT0_VENDOR := Comtrend - DEVICE_ALT0_MODEL := CT-5621 - CFE_BOARD_ID := 96348GW-11 - CFE_CHIP_ID := 6348 - DEVICE_PACKAGES := $(B43_PACKAGES) - DEFAULT := n -endef -TARGET_DEVICES += comtrend_ct-536plus - -define Device/comtrend_ct-5365 - $(Device/bcm63xx) - DEVICE_VENDOR := Comtrend - DEVICE_MODEL := CT-5365 - CFE_BOARD_ID := 96348A-122 - CFE_CHIP_ID := 6348 - DEVICE_PACKAGES := $(B43_PACKAGES) - DEFAULT := n -endef -TARGET_DEVICES += comtrend_ct-5365 - -define Device/comtrend_ct-6373 - $(Device/bcm63xx) - DEVICE_VENDOR := Comtrend - DEVICE_MODEL := CT-6373 - CFE_BOARD_ID := CT6373-1 - CFE_CHIP_ID := 6358 - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += comtrend_ct-6373 - -define Device/comtrend_vr-3025u - $(Device/bcm63xx) - DEVICE_VENDOR := Comtrend - DEVICE_MODEL := VR-3025u - IMAGES += sysupgrade.bin - CFE_BOARD_ID := 96368M-1541N - CFE_CHIP_ID := 6368 - BLOCK_SIZE := 0x20000 - FLASH_MB := 32 - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += comtrend_vr-3025u - -define Device/comtrend_vr-3025un - $(Device/bcm63xx) - DEVICE_VENDOR := Comtrend - DEVICE_MODEL := VR-3025un - CFE_BOARD_ID := 96368M-1341N - CFE_CHIP_ID := 6368 - FLASH_MB := 8 - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += comtrend_vr-3025un - -define Device/comtrend_vr-3026e - $(Device/bcm63xx) - DEVICE_VENDOR := Comtrend - DEVICE_MODEL := VR-3026e - CFE_BOARD_ID := 96368MT-1341N1 - CFE_CHIP_ID := 6368 - FLASH_MB := 8 - DEVICE_PACKAGES := $(B43_PACKAGES) -endef -TARGET_DEVICES += comtrend_vr-3026e - -define Device/comtrend_wap-5813n - $(Device/bcm63xx) - DEVICE_VENDOR := Comtrend - DEVICE_MODEL := WAP-5813n - CFE_BOARD_ID := 96369R-1231N - CFE_CHIP_ID := 6368 - FLASH_MB := 8 - SOC := bcm6369 - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += comtrend_wap-5813n - -### D-Link ### -define Device/d-link_dsl-2640b-b - $(Device/bcm63xx) - DEVICE_VENDOR := D-Link - DEVICE_MODEL := DSL-2640B - DEVICE_VARIANT := B2 - CFE_BOARD_ID := D-4P-W - CFE_CHIP_ID := 6348 - DEVICE_PACKAGES := $(B43_PACKAGES) - DEFAULT := n -endef -TARGET_DEVICES += d-link_dsl-2640b-b - -define Device/d-link_dsl-2640u - $(Device/bcm63xx) - DEVICE_VENDOR := D-Link - DEVICE_MODEL := DSL-2640U - DEVICE_VARIANT := C1 - DEVICE_ALT0_VENDOR := D-Link - DEVICE_ALT0_MODEL := DSL-2640U/BRU/C - CFE_BOARD_ID := 96338W2_E7T - CFE_CHIP_ID := 6338 - DEVICE_PACKAGES := $(B43_PACKAGES) - DEFAULT := n -endef -TARGET_DEVICES += d-link_dsl-2640u - -define Device/d-link_dsl-2650u - $(Device/bcm63xx) - DEVICE_VENDOR := D-Link - DEVICE_MODEL := DSL-2650U - CFE_BOARD_ID := 96358VW2 - CFE_CHIP_ID := 6358 - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += d-link_dsl-2650u - -define Device/d-link_dsl-274xb-c2 - $(Device/bcm63xx) - DEVICE_VENDOR := D-Link - DEVICE_MODEL := DSL-2740B - DEVICE_VARIANT := C2 - DEVICE_ALT0_VENDOR := D-Link - DEVICE_ALT0_MODEL := DSL-2741B - DEVICE_ALT0_VARIANT := C2 - CFE_BOARD_ID := 96358GW - CFE_CHIP_ID := 6358 - DEVICE_PACKAGES := $(B43_PACKAGES) -endef -TARGET_DEVICES += d-link_dsl-274xb-c2 - -define Device/d-link_dsl-274xb-c3 - $(Device/bcm63xx) - DEVICE_VENDOR := D-Link - DEVICE_MODEL := DSL-2740B - DEVICE_VARIANT := C3 - DEVICE_ALT0_VENDOR := D-Link - DEVICE_ALT0_MODEL := DSL-2741B - DEVICE_ALT0_VARIANT := C3 - DEVICE_DTS := bcm6358-d-link-dsl-274xb-c2 - CFE_BOARD_ID := AW4139 - CFE_CHIP_ID := 6358 - DEVICE_PACKAGES := $(B43_PACKAGES) -endef -TARGET_DEVICES += d-link_dsl-274xb-c3 - -define Device/d-link_dsl-274xb-f1 - $(Device/bcm63xx) - DEVICE_VENDOR := D-Link - DEVICE_MODEL := DSL-2740B - DEVICE_VARIANT := F1 - DEVICE_ALT0_VENDOR := D-Link - DEVICE_ALT0_MODEL := DSL-2741B - DEVICE_ALT0_VARIANT := F1 - CFE_BOARD_ID := AW4339U - CFE_CHIP_ID := 6328 - IMAGES := cfe-EU.bin cfe-AU.bin - IMAGE/cfe-AU.bin := cfe-bin --signature2 "4.06.01.AUF1" --pad 4 - IMAGE/cfe-EU.bin := cfe-bin --signature2 "4.06.01.EUF1" --pad 4 - DEVICE_PACKAGES := $(ATH9K_PACKAGES) -endef -TARGET_DEVICES += d-link_dsl-274xb-f1 - -define Device/d-link_dsl-275xb-d1 - $(Device/bcm63xx) - DEVICE_VENDOR := D-Link - DEVICE_MODEL := DSL-2750B - DEVICE_VARIANT := D1 - DEVICE_ALT0_VENDOR := D-Link - DEVICE_ALT0_MODEL := DSL-2751 - DEVICE_ALT0_VARIANT := D1 - CFE_BOARD_ID := AW5200B - CFE_CHIP_ID := 6318 - FLASH_MB := 8 - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += d-link_dsl-275xb-d1 - -define Device/d-link_dva-g3810bn-tl - $(Device/bcm63xx) - DEVICE_VENDOR := D-Link - DEVICE_MODEL := DVA-G3810BN/TL - CFE_BOARD_ID := 96358VW - CFE_CHIP_ID := 6358 - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += d-link_dva-g3810bn-tl - -### Davolink ### -define Device/davolink_dv-201amr - $(Device/bcm63xx) - DEVICE_VENDOR := Davolink - DEVICE_MODEL := DV-201AMR - IMAGES := cfe-old.bin - CFE_BOARD_ID := DV201AMR - CFE_CHIP_ID := 6348 - DEVICE_PACKAGES := $(B43_PACKAGES) - DEFAULT := n -endef -TARGET_DEVICES += davolink_dv-201amr - -### Dynalink ### -define Device/dynalink_rta770bw - $(Device/bcm63xx) - DEVICE_VENDOR := Dynalink - DEVICE_MODEL := RTA770BW - DEVICE_ALT0_VENDOR := Siemens - DEVICE_ALT0_MODEL := SE515 - IMAGES = - CFE_BOARD_ID := RTA770BW - CFE_CHIP_ID := 6345 - CFE_EXTRAS += --layoutver 5 - DEVICE_PACKAGES := $(B43_PACKAGES) - DEFAULT := n -endef -TARGET_DEVICES += dynalink_rta770bw - -define Device/dynalink_rta770w - $(Device/bcm63xx) - DEVICE_VENDOR := Dynalink - DEVICE_MODEL := RTA770W - IMAGES = - CFE_BOARD_ID := RTA770W - CFE_CHIP_ID := 6345 - CFE_EXTRAS += --layoutver 5 - DEVICE_PACKAGES := $(B43_PACKAGES) - DEFAULT := n -endef -TARGET_DEVICES += dynalink_rta770w - -define Device/dynalink_rta1025w - $(Device/bcm63xx) - DEVICE_VENDOR := Dynalink - DEVICE_MODEL := RTA1025W - CFE_BOARD_ID := RTA1025W_16 - CFE_CHIP_ID := 6348 - CFE_EXTRAS += --layoutver 5 - DEVICE_PACKAGES := $(B43_PACKAGES) - DEFAULT := n -endef -TARGET_DEVICES += dynalink_rta1025w - -define Device/dynalink_rta1320 - $(Device/bcm63xx) - DEVICE_VENDOR := Dynalink - DEVICE_MODEL := RTA1320 - CFE_BOARD_ID := RTA1320_16M - CFE_CHIP_ID := 6338 - CFE_EXTRAS += --layoutver 5 - DEFAULT := n -endef -TARGET_DEVICES += dynalink_rta1320 - -### Huawei ### -define Device/huawei_echolife-hg520v - $(Device/bcm63xx) - DEVICE_VENDOR := Huawei - DEVICE_MODEL := EchoLife HG520v - CFE_BOARD_ID := HW6358GW_B - CFE_CHIP_ID := 6358 - CFE_EXTRAS += --rsa-signature "EchoLife_HG520v" - SOC := bcm6359 - DEVICE_PACKAGES := $(B43_PACKAGES) -endef -TARGET_DEVICES += huawei_echolife-hg520v - -define Device/huawei_echolife-hg553 - $(Device/bcm63xx) - DEVICE_VENDOR := Huawei - DEVICE_MODEL := EchoLife HG553 - CFE_BOARD_ID := HW553 - CFE_CHIP_ID := 6358 - CFE_EXTRAS += --rsa-signature "EchoLife_HG553" --tag-version 7 - BLOCK_SIZE := 0x20000 - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += huawei_echolife-hg553 - -define Device/huawei_echolife-hg556a-a - $(Device/bcm63xx) - DEVICE_VENDOR := Huawei - DEVICE_MODEL := EchoLife HG556a - DEVICE_VARIANT := A - DEVICE_DESCRIPTION = Build firmware images for Huawei HG556a version A (Atheros) - CFE_BOARD_ID := HW556 - CFE_CHIP_ID := 6358 - CFE_EXTRAS += --rsa-signature "EchoLife_HG556a" --tag-version 8 - IMAGE_OFFSET := 0x20000 - DEVICE_PACKAGES := $(ATH9K_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += huawei_echolife-hg556a-a - -define Device/huawei_echolife-hg556a-b - $(Device/bcm63xx) - DEVICE_VENDOR := Huawei - DEVICE_MODEL := EchoLife HG556a - DEVICE_VARIANT := B - DEVICE_DESCRIPTION = Build firmware images for Huawei HG556a version B (Atheros) - CFE_BOARD_ID := HW556 - CFE_CHIP_ID := 6358 - CFE_EXTRAS += --rsa-signature "EchoLife_HG556a" --tag-version 8 - BLOCK_SIZE := 0x20000 - DEVICE_PACKAGES := $(ATH9K_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += huawei_echolife-hg556a-b - -define Device/huawei_echolife-hg556a-c - $(Device/bcm63xx) - DEVICE_VENDOR := Huawei - DEVICE_MODEL := EchoLife HG556a - DEVICE_VARIANT := C - DEVICE_DESCRIPTION = Build firmware images for Huawei HG556a version C (Ralink) - CFE_BOARD_ID := HW556 - CFE_CHIP_ID := 6358 - CFE_EXTRAS += --rsa-signature "EchoLife_HG556a" --tag-version 8 - BLOCK_SIZE := 0x20000 - DEVICE_PACKAGES := $(RT28_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += huawei_echolife-hg556a-c - -define Device/huawei_echolife-hg622 - $(Device/bcm63xx) - DEVICE_VENDOR := Huawei - DEVICE_MODEL := EchoLife HG622 - IMAGES += sysupgrade.bin - CFE_BOARD_ID := 96368MVWG_hg622 - CFE_CHIP_ID := 6368 - CFE_EXTRAS += --tag-version 7 - BLOCK_SIZE := 0x20000 - FLASH_MB := 16 - DEVICE_PACKAGES := $(RT28_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += huawei_echolife-hg622 - -define Device/huawei_echolife-hg655b - $(Device/bcm63xx) - DEVICE_VENDOR := Huawei - DEVICE_MODEL := EchoLife HG655b - CFE_BOARD_ID := HW65x - CFE_CHIP_ID := 6368 - CFE_EXTRAS += --tag-version 7 - IMAGE_OFFSET := 0x20000 - FLASH_MB := 8 - DEVICE_PACKAGES := $(RT28_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += huawei_echolife-hg655b - -### Inteno ### -define Device/inteno_vg50 - $(Device/bcm63xx) - DEVICE_VENDOR := Inteno - DEVICE_MODEL := VG50 Multi-WAN CPE - IMAGES := - CFE_BOARD_ID := VW6339GU - CFE_CHIP_ID := 63268 - DEVICE_PACKAGES := $(USB2_PACKAGES) -endef -TARGET_DEVICES += inteno_vg50 - -### Inventel ### -define Device/inventel_livebox-1 - $(Device/bcm63xx_redboot) - DEVICE_VENDOR := Inventel - DEVICE_MODEL := Livebox 1 - SOC := bcm6348 - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB1_PACKAGES) - DEFAULT := n -endef -TARGET_DEVICES += inventel_livebox-1 - -### Netgear ### -define Device/netgear_cvg834g - $(Device/bcm33xx) - DEVICE_VENDOR := NETGEAR - DEVICE_MODEL := CVG834G - SOC := bcm3368 - HCS_MAGIC_BYTES := 0xa020 - HCS_REV_MIN := 0001 - HCS_REV_MAJ := 0022 -endef -TARGET_DEVICES += netgear_cvg834g - -define Device/netgear_dg834gt-pn - $(Device/bcm63xx) - DEVICE_VENDOR := NETGEAR - DEVICE_MODEL := DG834GT - DEVICE_ALT0_VENDOR := NETGEAR - DEVICE_ALT0_MODEL := DG834PN - CFE_BOARD_ID := 96348GW-10 - CFE_CHIP_ID := 6348 - DEVICE_PACKAGES := $(ATH5K_PACKAGES) - DEFAULT := n -endef -TARGET_DEVICES += netgear_dg834gt-pn - -define Device/netgear_dg834g-v4 - $(Device/bcm63xx) - DEVICE_VENDOR := NETGEAR - DEVICE_MODEL := DG834G - DEVICE_VARIANT := v4 - IMAGES := - CFE_BOARD_ID := 96348W3 - CFE_CHIP_ID := 6348 - DEVICE_PACKAGES := $(B43_PACKAGES) - DEFAULT := n -endef -TARGET_DEVICES += netgear_dg834g-v4 - -define Device/netgear_dgnd3700-v1 - $(Device/bcm63xx_netgear) - DEVICE_MODEL := DGND3700 - DEVICE_VARIANT := v1 - CFE_BOARD_ID := 96368MVWG - CFE_CHIP_ID := 6368 - BLOCK_SIZE := 0x20000 - NETGEAR_BOARD_ID := U12L144T01_NETGEAR_NEWLED - NETGEAR_REGION := 1 - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += netgear_dgnd3700-v1 - -define Device/netgear_dgnd3800b - $(Device/bcm63xx_netgear) - DEVICE_MODEL := DGND3800B - DEVICE_DTS := bcm6368-netgear-dgnd3700-v1 - CFE_BOARD_ID := 96368MVWG - CFE_CHIP_ID := 6368 - BLOCK_SIZE := 0x20000 - NETGEAR_BOARD_ID := U12L144T11_NETGEAR_NEWLED - NETGEAR_REGION := 1 - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += netgear_dgnd3800b - -define Device/netgear_evg2000 - $(Device/bcm63xx_netgear) - DEVICE_MODEL := EVG2000 - CFE_BOARD_ID := 96369PVG - CFE_CHIP_ID := 6368 - BLOCK_SIZE := 0x20000 - NETGEAR_BOARD_ID := U12H154T90_NETGEAR - NETGEAR_REGION := 1 - SOC := bcm6369 - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += netgear_evg2000 - -### NuCom ### -define Device/nucom_r5010un-v2 - $(Device/bcm63xx) - DEVICE_VENDOR := NuCom - DEVICE_MODEL := R5010UN - DEVICE_VARIANT := v2 - IMAGES += sysupgrade.bin - CFE_BOARD_ID := 96328ang - CFE_CHIP_ID := 6328 - FLASH_MB := 16 - DEVICE_PACKAGES := $(B43_PACKAGES) -endef -TARGET_DEVICES += nucom_r5010un-v2 - -### Observa ### -define Device/observa_vh4032n - $(Device/bcm63xx) - DEVICE_VENDOR := Observa - DEVICE_MODEL := VH4032N - IMAGES += sysupgrade.bin - CFE_BOARD_ID := 96368VVW - CFE_CHIP_ID := 6368 - BLOCK_SIZE := 0x20000 - FLASH_MB := 32 - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += observa_vh4032n - -### Pirelli ### -define Device/pirelli_a226g - $(Device/bcm63xx) - DEVICE_VENDOR := Pirelli - DEVICE_MODEL := A226G - CFE_BOARD_ID := DWV-S0 - CFE_CHIP_ID := 6358 - CFE_EXTRAS += --signature2 IMAGE --tag-version 8 - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += pirelli_a226g - -define Device/pirelli_a226m - $(Device/bcm63xx) - DEVICE_VENDOR := Pirelli - DEVICE_MODEL := A226M - CFE_BOARD_ID := DWV-S0 - CFE_CHIP_ID := 6358 - CFE_EXTRAS += --signature2 IMAGE --tag-version 8 - DEVICE_PACKAGES := $(USB2_PACKAGES) -endef -TARGET_DEVICES += pirelli_a226m - -define Device/pirelli_a226m-fwb - $(Device/bcm63xx) - DEVICE_VENDOR := Pirelli - DEVICE_MODEL := A226M-FWB - CFE_BOARD_ID := DWV-S0 - CFE_CHIP_ID := 6358 - CFE_EXTRAS += --signature2 IMAGE --tag-version 8 - BLOCK_SIZE := 0x20000 - DEVICE_PACKAGES := $(USB2_PACKAGES) -endef -TARGET_DEVICES += pirelli_a226m-fwb - -define Device/pirelli_agpf-s0 - $(Device/bcm63xx) - DEVICE_VENDOR := Pirelli - DEVICE_MODEL := Alice Gate VoIP 2 Plus Wi-Fi AGPF-S0 - CFE_BOARD_ID := AGPF-S0 - CFE_CHIP_ID := 6358 - CFE_EXTRAS += --signature2 IMAGE --tag-version 8 - BLOCK_SIZE := 0x20000 - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += pirelli_agpf-s0 - -### Sagem ### -define Device/sagem_fast-2404 - $(Device/bcm63xx) - DEVICE_VENDOR := Sagemcom - DEVICE_MODEL := F@st 2404 - CFE_BOARD_ID := F@ST2404 - CFE_CHIP_ID := 6348 - DEVICE_PACKAGES := $(B43_PACKAGES) - DEFAULT := n -endef -TARGET_DEVICES += sagem_fast-2404 - -define Device/sagem_fast-2504n - $(Device/bcm63xx) - DEVICE_VENDOR := Sagemcom - DEVICE_MODEL := F@st 2504N - CFE_BOARD_ID := F@ST2504n - CFE_CHIP_ID := 6362 - DEVICE_PACKAGES := $(B43_PACKAGES) -endef -TARGET_DEVICES += sagem_fast-2504n - -define Device/sagem_fast-2604 - $(Device/bcm63xx) - DEVICE_VENDOR := Sagemcom - DEVICE_MODEL := F@st 2604 - CFE_BOARD_ID := F@ST2604 - CFE_CHIP_ID := 6348 - DEVICE_PACKAGES := $(B43_PACKAGES) - DEFAULT := n -endef -TARGET_DEVICES += sagem_fast-2604 - -define Device/sagem_fast-2704n - $(Device/bcm63xx) - DEVICE_VENDOR := Sagemcom - DEVICE_MODEL := F@st 2704N - CFE_BOARD_ID := F@ST2704N - CFE_CHIP_ID := 6318 - FLASH_MB := 8 - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += sagem_fast-2704n - -define Device/sagem_fast-2704-v2 - $(Device/bcm63xx) - DEVICE_VENDOR := Sagemcom - DEVICE_MODEL := F@st 2704 - DEVICE_VARIANT := V2 - CFE_BOARD_ID := F@ST2704V2 - CFE_CHIP_ID := 6328 - FLASH_MB := 8 - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += sagem_fast-2704-v2 - -### Sercomm ### -define Device/sercomm_ad1018-nor - $(Device/bcm63xx) - DEVICE_VENDOR := Sercomm - DEVICE_MODEL := AD1018 - DEVICE_VARIANT := SPI flash mod - CFE_BOARD_ID := 96328avngr - CFE_CHIP_ID := 6328 - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += sercomm_ad1018-nor - -### SFR ### -define Device/sfr_neufbox-4-sercomm-r0 - $(Device/bcm63xx) - DEVICE_VENDOR := SFR - DEVICE_MODEL := Neufbox 4 - DEVICE_VARIANT := Sercomm - CFE_BOARD_ID := 96358VW - CFE_CHIP_ID := 6358 - CFE_EXTRAS += --rsa-signature "$(VERSION_DIST)-$(firstword $(subst -,$(space),$(REVISION)))" - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += sfr_neufbox-4-sercomm-r0 - -define Device/sfr_neufbox-4-foxconn-r1 - $(Device/bcm63xx) - DEVICE_VENDOR := SFR - DEVICE_MODEL := Neufbox 4 - DEVICE_VARIANT := Foxconn - CFE_BOARD_ID := 96358VW - CFE_CHIP_ID := 6358 - CFE_EXTRAS += --rsa-signature "$(VERSION_DIST)-$(firstword $(subst -,$(space),$(REVISION)))" - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += sfr_neufbox-4-foxconn-r1 - -define Device/sfr_neufbox-6-sercomm-r0 - $(Device/bcm63xx) - DEVICE_VENDOR := SFR - DEVICE_MODEL := Neufbox 6 - CFE_BOARD_ID := NB6-SER-r0 - CFE_CHIP_ID := 6362 - CFE_EXTRAS += --rsa-signature "$(VERSION_DIST)-$(firstword $(subst -,$(space),$(REVISION)))" - SOC := bcm6361 - DEVICE_PACKAGES := $(USB2_PACKAGES) -endef -TARGET_DEVICES += sfr_neufbox-6-sercomm-r0 - -define Device/sky_sr102 - $(Device/bcm63xx) - DEVICE_VENDOR := SKY - DEVICE_MODEL := SR102 - CFE_BOARD_ID := BSKYB_63168 - CFE_CHIP_ID := 63268 - CFE_EXTRAS += --rsa-signature "$(VERSION_DIST)-$(firstword $(subst -,$(space),$(REVISION)))" - SOC := bcm63168 - DEVICE_PACKAGES := $(USB2_PACKAGES) -endef -TARGET_DEVICES += sky_sr102 - -### T-Com ### -define Device/t-com_speedport-w-303v - $(Device/bcm63xx) - DEVICE_VENDOR := T-Com - DEVICE_MODEL := Speedport W 303V - IMAGES := factory.bin sysupgrade.bin - IMAGE/factory.bin := cfe-spw303v-bin --pad 4 | spw303v-bin | xor-image - IMAGE/sysupgrade.bin := cfe-spw303v-bin | spw303v-bin - CFE_BOARD_ID := 96358-502V - CFE_CHIP_ID := 6358 - DEVICE_PACKAGES := $(B43_PACKAGES) -endef -TARGET_DEVICES += t-com_speedport-w-303v - -define Device/t-com_speedport-w-500v - $(Device/bcm63xx) - DEVICE_VENDOR := T-Com - DEVICE_MODEL := Speedport W 500V - CFE_BOARD_ID := 96348GW - CFE_CHIP_ID := 6348 - DEVICE_PACKAGES := $(B43_PACKAGES) - DEFAULT := n -endef -TARGET_DEVICES += t-com_speedport-w-500v - -### Tecom ### -define Device/tecom_gw6000 - $(Device/bcm63xx) - DEVICE_VENDOR := Tecom - DEVICE_MODEL := GW6000 - CFE_BOARD_ID := 96348GW - CFE_CHIP_ID := 6348 - DEVICE_PACKAGES := $(BRCMWL_PACKAGES) $(USB1_PACKAGES) -endef -TARGET_DEVICES += tecom_gw6000 - -define Device/tecom_gw6200 - $(Device/bcm63xx) - DEVICE_VENDOR := Tecom - DEVICE_MODEL := GW6200 - CFE_BOARD_ID := 96348GW - CFE_CHIP_ID := 6348 - CFE_EXTRAS += --rsa-signature "$(shell printf '\x99')" - DEVICE_PACKAGES := $(BRCMWL_PACKAGES) $(USB1_PACKAGES) -endef -TARGET_DEVICES += tecom_gw6200 - -### Telsey ### -define Device/telsey_cpva502plus - $(Device/bcm63xx) - DEVICE_VENDOR := Telsey - DEVICE_MODEL := CPVA502+ - CFE_BOARD_ID := CPVA502+ - CFE_CHIP_ID := 6348 - CFE_EXTRAS += --signature "Telsey Tlc" --signature2 "99.99.999" - DEVICE_PACKAGES := $(B43_PACKAGES) - DEFAULT := n -endef -TARGET_DEVICES += telsey_cpva502plus - -define Device/telsey_cpva642 - $(Device/bcm63xx) - DEVICE_VENDOR := Telsey - DEVICE_MODEL := CPVA642-type (CPA-ZNTE60T) - CFE_BOARD_ID := CPVA642 - CFE_CHIP_ID := 6358 - CFE_EXTRAS += --signature "Telsey Tlc" --signature2 "99.99.999" --second-image-flag "0" - FLASH_MB := 8 - DEVICE_PACKAGES := $(RT63_PACKAGES) $(USB2_PACKAGES) -endef -TARGET_DEVICES += telsey_cpva642 - -define Device/telsey_magic - $(Device/bcm63xx) - DEVICE_VENDOR := Alice - DEVICE_MODEL := W-Gate - DEVICE_ALT0_VENDOR := Telsey - DEVICE_ALT0_MODEL := MAGIC - IMAGES := - CFE_BOARD_ID := MAGIC - CFE_CHIP_ID := 6348 - DEVICE_PACKAGES := $(RT63_PACKAGES) - DEFAULT := n -endef -TARGET_DEVICES += telsey_magic - -### TP-Link ### -define Device/tp-link_td-w8900gb - $(Device/bcm63xx) - DEVICE_VENDOR := TP-Link - DEVICE_MODEL := TD-W8900GB - CFE_BOARD_ID := 96348GW-11 - CFE_CHIP_ID := 6348 - CFE_EXTRAS += --rsa-signature "$(shell printf 'PRID\x89\x10\x00\x02')" - IMAGE_OFFSET := 0x20000 - DEVICE_PACKAGES := $(B43_PACKAGES) - DEFAULT := n -endef -TARGET_DEVICES += tp-link_td-w8900gb - -### USRobotics ### -define Device/usrobotics_usr9108 - $(Device/bcm63xx) - DEVICE_VENDOR := USRobotics - DEVICE_MODEL := USR9108 - CFE_BOARD_ID := 96348GW-A - CFE_CHIP_ID := 6348 - DEVICE_PACKAGES := $(B43_PACKAGES) $(USB1_PACKAGES) - DEFAULT := n -endef -TARGET_DEVICES += usrobotics_usr9108 - -### ZyXEL ### -define Device/zyxel_p870hw-51a-v2 - $(Device/bcm63xx) - DEVICE_VENDOR := ZyXEL - DEVICE_MODEL := P870HW-51a - DEVICE_VARIANT := v2 - IMAGES := factory.bin - IMAGE/factory.bin := cfe-bin | zyxel-bin - CFE_BOARD_ID := 96368VVW - CFE_CHIP_ID := 6368 - CFE_EXTRAS += --rsa-signature "ZyXEL" --signature "ZyXEL_0001" - DEVICE_PACKAGES := $(B43_PACKAGES) -endef -TARGET_DEVICES += zyxel_p870hw-51a-v2 diff --git a/target/linux/brcm63xx/image/lzma-loader/Makefile b/target/linux/brcm63xx/image/lzma-loader/Makefile deleted file mode 100644 index 8d36691cb5..0000000000 --- a/target/linux/brcm63xx/image/lzma-loader/Makefile +++ /dev/null @@ -1,62 +0,0 @@ -# -# Copyright (C) 2011 OpenWrt.org -# Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org> -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -LZMA_TEXT_START := 0x80a00000 -LOADER := loader.bin -LOADER_NAME := $(basename $(notdir $(LOADER))) -LOADER_DATA := -TARGET_DIR := -FLASH_OFFS := -FLASH_MAX := - -ifeq ($(TARGET_DIR),) -TARGET_DIR := $(KDIR) -endif - -LOADER_BIN := $(TARGET_DIR)/$(LOADER_NAME).bin -LOADER_GZ := $(TARGET_DIR)/$(LOADER_NAME).gz -LOADER_ELF := $(TARGET_DIR)/$(LOADER_NAME).elf - -PKG_NAME := lzma-loader -PKG_BUILD_DIR := $(KDIR)/$(PKG_NAME) - -.PHONY : loader-compile loader.bin loader.elf loader.gz - -$(PKG_BUILD_DIR)/.prepared: - mkdir $(PKG_BUILD_DIR) - $(CP) ./src/* $(PKG_BUILD_DIR)/ - touch $@ - -loader-compile: $(PKG_BUILD_DIR)/.prepared - $(MAKE) -C $(PKG_BUILD_DIR) CROSS_COMPILE="$(TARGET_CROSS)" \ - LZMA_TEXT_START=$(LZMA_TEXT_START) \ - LOADER_DATA=$(LOADER_DATA) \ - FLASH_OFFS=$(FLASH_OFFS) \ - FLASH_MAX=$(FLASH_MAX) \ - clean all - -loader.gz: $(PKG_BUILD_DIR)/loader.bin - gzip -nc9 $< > $(LOADER_GZ) - -loader.elf: $(PKG_BUILD_DIR)/loader.elf - $(CP) $< $(LOADER_ELF) - -loader.bin: $(PKG_BUILD_DIR)/loader.bin - $(CP) $< $(LOADER_BIN) - -download: -prepare: $(PKG_BUILD_DIR)/.prepared -compile: loader-compile - -install: - -clean: - rm -rf $(PKG_BUILD_DIR) - diff --git a/target/linux/brcm63xx/image/lzma-loader/src/LzmaDecode.c b/target/linux/brcm63xx/image/lzma-loader/src/LzmaDecode.c deleted file mode 100644 index cb8345377e..0000000000 --- a/target/linux/brcm63xx/image/lzma-loader/src/LzmaDecode.c +++ /dev/null @@ -1,584 +0,0 @@ -/* - LzmaDecode.c - LZMA Decoder (optimized for Speed version) - - LZMA SDK 4.40 Copyright (c) 1999-2006 Igor Pavlov (2006-05-01) - http://www.7-zip.org/ - - LZMA SDK is licensed under two licenses: - 1) GNU Lesser General Public License (GNU LGPL) - 2) Common Public License (CPL) - It means that you can select one of these two licenses and - follow rules of that license. - - SPECIAL EXCEPTION: - Igor Pavlov, as the author of this Code, expressly permits you to - statically or dynamically link your Code (or bind by name) to the - interfaces of this file without subjecting your linked Code to the - terms of the CPL or GNU LGPL. Any modifications or additions - to this file, however, are subject to the LGPL or CPL terms. -*/ - -#include "LzmaDecode.h" - -#define kNumTopBits 24 -#define kTopValue ((UInt32)1 << kNumTopBits) - -#define kNumBitModelTotalBits 11 -#define kBitModelTotal (1 << kNumBitModelTotalBits) -#define kNumMoveBits 5 - -#define RC_READ_BYTE (*Buffer++) - -#define RC_INIT2 Code = 0; Range = 0xFFFFFFFF; \ - { int i; for(i = 0; i < 5; i++) { RC_TEST; Code = (Code << 8) | RC_READ_BYTE; }} - -#ifdef _LZMA_IN_CB - -#define RC_TEST { if (Buffer == BufferLim) \ - { SizeT size; int result = InCallback->Read(InCallback, &Buffer, &size); if (result != LZMA_RESULT_OK) return result; \ - BufferLim = Buffer + size; if (size == 0) return LZMA_RESULT_DATA_ERROR; }} - -#define RC_INIT Buffer = BufferLim = 0; RC_INIT2 - -#else - -#define RC_TEST { if (Buffer == BufferLim) return LZMA_RESULT_DATA_ERROR; } - -#define RC_INIT(buffer, bufferSize) Buffer = buffer; BufferLim = buffer + bufferSize; RC_INIT2 - -#endif - -#define RC_NORMALIZE if (Range < kTopValue) { RC_TEST; Range <<= 8; Code = (Code << 8) | RC_READ_BYTE; } - -#define IfBit0(p) RC_NORMALIZE; bound = (Range >> kNumBitModelTotalBits) * *(p); if (Code < bound) -#define UpdateBit0(p) Range = bound; *(p) += (kBitModelTotal - *(p)) >> kNumMoveBits; -#define UpdateBit1(p) Range -= bound; Code -= bound; *(p) -= (*(p)) >> kNumMoveBits; - -#define RC_GET_BIT2(p, mi, A0, A1) IfBit0(p) \ - { UpdateBit0(p); mi <<= 1; A0; } else \ - { UpdateBit1(p); mi = (mi + mi) + 1; A1; } - -#define RC_GET_BIT(p, mi) RC_GET_BIT2(p, mi, ; , ;) - -#define RangeDecoderBitTreeDecode(probs, numLevels, res) \ - { int i = numLevels; res = 1; \ - do { CProb *p = probs + res; RC_GET_BIT(p, res) } while(--i != 0); \ - res -= (1 << numLevels); } - - -#define kNumPosBitsMax 4 -#define kNumPosStatesMax (1 << kNumPosBitsMax) - -#define kLenNumLowBits 3 -#define kLenNumLowSymbols (1 << kLenNumLowBits) -#define kLenNumMidBits 3 -#define kLenNumMidSymbols (1 << kLenNumMidBits) -#define kLenNumHighBits 8 -#define kLenNumHighSymbols (1 << kLenNumHighBits) - -#define LenChoice 0 -#define LenChoice2 (LenChoice + 1) -#define LenLow (LenChoice2 + 1) -#define LenMid (LenLow + (kNumPosStatesMax << kLenNumLowBits)) -#define LenHigh (LenMid + (kNumPosStatesMax << kLenNumMidBits)) -#define kNumLenProbs (LenHigh + kLenNumHighSymbols) - - -#define kNumStates 12 -#define kNumLitStates 7 - -#define kStartPosModelIndex 4 -#define kEndPosModelIndex 14 -#define kNumFullDistances (1 << (kEndPosModelIndex >> 1)) - -#define kNumPosSlotBits 6 -#define kNumLenToPosStates 4 - -#define kNumAlignBits 4 -#define kAlignTableSize (1 << kNumAlignBits) - -#define kMatchMinLen 2 - -#define IsMatch 0 -#define IsRep (IsMatch + (kNumStates << kNumPosBitsMax)) -#define IsRepG0 (IsRep + kNumStates) -#define IsRepG1 (IsRepG0 + kNumStates) -#define IsRepG2 (IsRepG1 + kNumStates) -#define IsRep0Long (IsRepG2 + kNumStates) -#define PosSlot (IsRep0Long + (kNumStates << kNumPosBitsMax)) -#define SpecPos (PosSlot + (kNumLenToPosStates << kNumPosSlotBits)) -#define Align (SpecPos + kNumFullDistances - kEndPosModelIndex) -#define LenCoder (Align + kAlignTableSize) -#define RepLenCoder (LenCoder + kNumLenProbs) -#define Literal (RepLenCoder + kNumLenProbs) - -#if Literal != LZMA_BASE_SIZE -StopCompilingDueBUG -#endif - -int LzmaDecodeProperties(CLzmaProperties *propsRes, const unsigned char *propsData, int size) -{ - unsigned char prop0; - if (size < LZMA_PROPERTIES_SIZE) - return LZMA_RESULT_DATA_ERROR; - prop0 = propsData[0]; - if (prop0 >= (9 * 5 * 5)) - return LZMA_RESULT_DATA_ERROR; - { - for (propsRes->pb = 0; prop0 >= (9 * 5); propsRes->pb++, prop0 -= (9 * 5)); - for (propsRes->lp = 0; prop0 >= 9; propsRes->lp++, prop0 -= 9); - propsRes->lc = prop0; - /* - unsigned char remainder = (unsigned char)(prop0 / 9); - propsRes->lc = prop0 % 9; - propsRes->pb = remainder / 5; - propsRes->lp = remainder % 5; - */ - } - - #ifdef _LZMA_OUT_READ - { - int i; - propsRes->DictionarySize = 0; - for (i = 0; i < 4; i++) - propsRes->DictionarySize += (UInt32)(propsData[1 + i]) << (i * 8); - if (propsRes->DictionarySize == 0) - propsRes->DictionarySize = 1; - } - #endif - return LZMA_RESULT_OK; -} - -#define kLzmaStreamWasFinishedId (-1) - -int LzmaDecode(CLzmaDecoderState *vs, - #ifdef _LZMA_IN_CB - ILzmaInCallback *InCallback, - #else - const unsigned char *inStream, SizeT inSize, SizeT *inSizeProcessed, - #endif - unsigned char *outStream, SizeT outSize, SizeT *outSizeProcessed) -{ - CProb *p = vs->Probs; - SizeT nowPos = 0; - Byte previousByte = 0; - UInt32 posStateMask = (1 << (vs->Properties.pb)) - 1; - UInt32 literalPosMask = (1 << (vs->Properties.lp)) - 1; - int lc = vs->Properties.lc; - - #ifdef _LZMA_OUT_READ - - UInt32 Range = vs->Range; - UInt32 Code = vs->Code; - #ifdef _LZMA_IN_CB - const Byte *Buffer = vs->Buffer; - const Byte *BufferLim = vs->BufferLim; - #else - const Byte *Buffer = inStream; - const Byte *BufferLim = inStream + inSize; - #endif - int state = vs->State; - UInt32 rep0 = vs->Reps[0], rep1 = vs->Reps[1], rep2 = vs->Reps[2], rep3 = vs->Reps[3]; - int len = vs->RemainLen; - UInt32 globalPos = vs->GlobalPos; - UInt32 distanceLimit = vs->DistanceLimit; - - Byte *dictionary = vs->Dictionary; - UInt32 dictionarySize = vs->Properties.DictionarySize; - UInt32 dictionaryPos = vs->DictionaryPos; - - Byte tempDictionary[4]; - - #ifndef _LZMA_IN_CB - *inSizeProcessed = 0; - #endif - *outSizeProcessed = 0; - if (len == kLzmaStreamWasFinishedId) - return LZMA_RESULT_OK; - - if (dictionarySize == 0) - { - dictionary = tempDictionary; - dictionarySize = 1; - tempDictionary[0] = vs->TempDictionary[0]; - } - - if (len == kLzmaNeedInitId) - { - { - UInt32 numProbs = Literal + ((UInt32)LZMA_LIT_SIZE << (lc + vs->Properties.lp)); - UInt32 i; - for (i = 0; i < numProbs; i++) - p[i] = kBitModelTotal >> 1; - rep0 = rep1 = rep2 = rep3 = 1; - state = 0; - globalPos = 0; - distanceLimit = 0; - dictionaryPos = 0; - dictionary[dictionarySize - 1] = 0; - #ifdef _LZMA_IN_CB - RC_INIT; - #else - RC_INIT(inStream, inSize); - #endif - } - len = 0; - } - while(len != 0 && nowPos < outSize) - { - UInt32 pos = dictionaryPos - rep0; - if (pos >= dictionarySize) - pos += dictionarySize; - outStream[nowPos++] = dictionary[dictionaryPos] = dictionary[pos]; - if (++dictionaryPos == dictionarySize) - dictionaryPos = 0; - len--; - } - if (dictionaryPos == 0) - previousByte = dictionary[dictionarySize - 1]; - else - previousByte = dictionary[dictionaryPos - 1]; - - #else /* if !_LZMA_OUT_READ */ - - int state = 0; - UInt32 rep0 = 1, rep1 = 1, rep2 = 1, rep3 = 1; - int len = 0; - const Byte *Buffer; - const Byte *BufferLim; - UInt32 Range; - UInt32 Code; - - #ifndef _LZMA_IN_CB - *inSizeProcessed = 0; - #endif - *outSizeProcessed = 0; - - { - UInt32 i; - UInt32 numProbs = Literal + ((UInt32)LZMA_LIT_SIZE << (lc + vs->Properties.lp)); - for (i = 0; i < numProbs; i++) - p[i] = kBitModelTotal >> 1; - } - - #ifdef _LZMA_IN_CB - RC_INIT; - #else - RC_INIT(inStream, inSize); - #endif - - #endif /* _LZMA_OUT_READ */ - - while(nowPos < outSize) - { - CProb *prob; - UInt32 bound; - int posState = (int)( - (nowPos - #ifdef _LZMA_OUT_READ - + globalPos - #endif - ) - & posStateMask); - - prob = p + IsMatch + (state << kNumPosBitsMax) + posState; - IfBit0(prob) - { - int symbol = 1; - UpdateBit0(prob) - prob = p + Literal + (LZMA_LIT_SIZE * - ((( - (nowPos - #ifdef _LZMA_OUT_READ - + globalPos - #endif - ) - & literalPosMask) << lc) + (previousByte >> (8 - lc)))); - - if (state >= kNumLitStates) - { - int matchByte; - #ifdef _LZMA_OUT_READ - UInt32 pos = dictionaryPos - rep0; - if (pos >= dictionarySize) - pos += dictionarySize; - matchByte = dictionary[pos]; - #else - matchByte = outStream[nowPos - rep0]; - #endif - do - { - int bit; - CProb *probLit; - matchByte <<= 1; - bit = (matchByte & 0x100); - probLit = prob + 0x100 + bit + symbol; - RC_GET_BIT2(probLit, symbol, if (bit != 0) break, if (bit == 0) break) - } - while (symbol < 0x100); - } - while (symbol < 0x100) - { - CProb *probLit = prob + symbol; - RC_GET_BIT(probLit, symbol) - } - previousByte = (Byte)symbol; - - outStream[nowPos++] = previousByte; - #ifdef _LZMA_OUT_READ - if (distanceLimit < dictionarySize) - distanceLimit++; - - dictionary[dictionaryPos] = previousByte; - if (++dictionaryPos == dictionarySize) - dictionaryPos = 0; - #endif - if (state < 4) state = 0; - else if (state < 10) state -= 3; - else state -= 6; - } - else - { - UpdateBit1(prob); - prob = p + IsRep + state; - IfBit0(prob) - { - UpdateBit0(prob); - rep3 = rep2; - rep2 = rep1; - rep1 = rep0; - state = state < kNumLitStates ? 0 : 3; - prob = p + LenCoder; - } - else - { - UpdateBit1(prob); - prob = p + IsRepG0 + state; - IfBit0(prob) - { - UpdateBit0(prob); - prob = p + IsRep0Long + (state << kNumPosBitsMax) + posState; - IfBit0(prob) - { - #ifdef _LZMA_OUT_READ - UInt32 pos; - #endif - UpdateBit0(prob); - - #ifdef _LZMA_OUT_READ - if (distanceLimit == 0) - #else - if (nowPos == 0) - #endif - return LZMA_RESULT_DATA_ERROR; - - state = state < kNumLitStates ? 9 : 11; - #ifdef _LZMA_OUT_READ - pos = dictionaryPos - rep0; - if (pos >= dictionarySize) - pos += dictionarySize; - previousByte = dictionary[pos]; - dictionary[dictionaryPos] = previousByte; - if (++dictionaryPos == dictionarySize) - dictionaryPos = 0; - #else - previousByte = outStream[nowPos - rep0]; - #endif - outStream[nowPos++] = previousByte; - #ifdef _LZMA_OUT_READ - if (distanceLimit < dictionarySize) - distanceLimit++; - #endif - - continue; - } - else - { - UpdateBit1(prob); - } - } - else - { - UInt32 distance; - UpdateBit1(prob); - prob = p + IsRepG1 + state; - IfBit0(prob) - { - UpdateBit0(prob); - distance = rep1; - } - else - { - UpdateBit1(prob); - prob = p + IsRepG2 + state; - IfBit0(prob) - { - UpdateBit0(prob); - distance = rep2; - } - else - { - UpdateBit1(prob); - distance = rep3; - rep3 = rep2; - } - rep2 = rep1; - } - rep1 = rep0; - rep0 = distance; - } - state = state < kNumLitStates ? 8 : 11; - prob = p + RepLenCoder; - } - { - int numBits, offset; - CProb *probLen = prob + LenChoice; - IfBit0(probLen) - { - UpdateBit0(probLen); - probLen = prob + LenLow + (posState << kLenNumLowBits); - offset = 0; - numBits = kLenNumLowBits; - } - else - { - UpdateBit1(probLen); - probLen = prob + LenChoice2; - IfBit0(probLen) - { - UpdateBit0(probLen); - probLen = prob + LenMid + (posState << kLenNumMidBits); - offset = kLenNumLowSymbols; - numBits = kLenNumMidBits; - } - else - { - UpdateBit1(probLen); - probLen = prob + LenHigh; - offset = kLenNumLowSymbols + kLenNumMidSymbols; - numBits = kLenNumHighBits; - } - } - RangeDecoderBitTreeDecode(probLen, numBits, len); - len += offset; - } - - if (state < 4) - { - int posSlot; - state += kNumLitStates; - prob = p + PosSlot + - ((len < kNumLenToPosStates ? len : kNumLenToPosStates - 1) << - kNumPosSlotBits); - RangeDecoderBitTreeDecode(prob, kNumPosSlotBits, posSlot); - if (posSlot >= kStartPosModelIndex) - { - int numDirectBits = ((posSlot >> 1) - 1); - rep0 = (2 | ((UInt32)posSlot & 1)); - if (posSlot < kEndPosModelIndex) - { - rep0 <<= numDirectBits; - prob = p + SpecPos + rep0 - posSlot - 1; - } - else - { - numDirectBits -= kNumAlignBits; - do - { - RC_NORMALIZE - Range >>= 1; - rep0 <<= 1; - if (Code >= Range) - { - Code -= Range; - rep0 |= 1; - } - } - while (--numDirectBits != 0); - prob = p + Align; - rep0 <<= kNumAlignBits; - numDirectBits = kNumAlignBits; - } - { - int i = 1; - int mi = 1; - do - { - CProb *prob3 = prob + mi; - RC_GET_BIT2(prob3, mi, ; , rep0 |= i); - i <<= 1; - } - while(--numDirectBits != 0); - } - } - else - rep0 = posSlot; - if (++rep0 == (UInt32)(0)) - { - /* it's for stream version */ - len = kLzmaStreamWasFinishedId; - break; - } - } - - len += kMatchMinLen; - #ifdef _LZMA_OUT_READ - if (rep0 > distanceLimit) - #else - if (rep0 > nowPos) - #endif - return LZMA_RESULT_DATA_ERROR; - - #ifdef _LZMA_OUT_READ - if (dictionarySize - distanceLimit > (UInt32)len) - distanceLimit += len; - else - distanceLimit = dictionarySize; - #endif - - do - { - #ifdef _LZMA_OUT_READ - UInt32 pos = dictionaryPos - rep0; - if (pos >= dictionarySize) - pos += dictionarySize; - previousByte = dictionary[pos]; - dictionary[dictionaryPos] = previousByte; - if (++dictionaryPos == dictionarySize) - dictionaryPos = 0; - #else - previousByte = outStream[nowPos - rep0]; - #endif - len--; - outStream[nowPos++] = previousByte; - } - while(len != 0 && nowPos < outSize); - } - } - RC_NORMALIZE; - - #ifdef _LZMA_OUT_READ - vs->Range = Range; - vs->Code = Code; - vs->DictionaryPos = dictionaryPos; - vs->GlobalPos = globalPos + (UInt32)nowPos; - vs->DistanceLimit = distanceLimit; - vs->Reps[0] = rep0; - vs->Reps[1] = rep1; - vs->Reps[2] = rep2; - vs->Reps[3] = rep3; - vs->State = state; - vs->RemainLen = len; - vs->TempDictionary[0] = tempDictionary[0]; - #endif - - #ifdef _LZMA_IN_CB - vs->Buffer = Buffer; - vs->BufferLim = BufferLim; - #else - *inSizeProcessed = (SizeT)(Buffer - inStream); - #endif - *outSizeProcessed = nowPos; - return LZMA_RESULT_OK; -} diff --git a/target/linux/brcm63xx/image/lzma-loader/src/LzmaDecode.h b/target/linux/brcm63xx/image/lzma-loader/src/LzmaDecode.h deleted file mode 100644 index 2870eeb9c9..0000000000 --- a/target/linux/brcm63xx/image/lzma-loader/src/LzmaDecode.h +++ /dev/null @@ -1,113 +0,0 @@ -/* - LzmaDecode.h - LZMA Decoder interface - - LZMA SDK 4.40 Copyright (c) 1999-2006 Igor Pavlov (2006-05-01) - http://www.7-zip.org/ - - LZMA SDK is licensed under two licenses: - 1) GNU Lesser General Public License (GNU LGPL) - 2) Common Public License (CPL) - It means that you can select one of these two licenses and - follow rules of that license. - - SPECIAL EXCEPTION: - Igor Pavlov, as the author of this code, expressly permits you to - statically or dynamically link your code (or bind by name) to the - interfaces of this file without subjecting your linked code to the - terms of the CPL or GNU LGPL. Any modifications or additions - to this file, however, are subject to the LGPL or CPL terms. -*/ - -#ifndef __LZMADECODE_H -#define __LZMADECODE_H - -#include "LzmaTypes.h" - -/* #define _LZMA_IN_CB */ -/* Use callback for input data */ - -/* #define _LZMA_OUT_READ */ -/* Use read function for output data */ - -/* #define _LZMA_PROB32 */ -/* It can increase speed on some 32-bit CPUs, - but memory usage will be doubled in that case */ - -/* #define _LZMA_LOC_OPT */ -/* Enable local speed optimizations inside code */ - -#ifdef _LZMA_PROB32 -#define CProb UInt32 -#else -#define CProb UInt16 -#endif - -#define LZMA_RESULT_OK 0 -#define LZMA_RESULT_DATA_ERROR 1 - -#ifdef _LZMA_IN_CB -typedef struct _ILzmaInCallback -{ - int (*Read)(void *object, const unsigned char **buffer, SizeT *bufferSize); -} ILzmaInCallback; -#endif - -#define LZMA_BASE_SIZE 1846 -#define LZMA_LIT_SIZE 768 - -#define LZMA_PROPERTIES_SIZE 5 - -typedef struct _CLzmaProperties -{ - int lc; - int lp; - int pb; - #ifdef _LZMA_OUT_READ - UInt32 DictionarySize; - #endif -}CLzmaProperties; - -int LzmaDecodeProperties(CLzmaProperties *propsRes, const unsigned char *propsData, int size); - -#define LzmaGetNumProbs(Properties) (LZMA_BASE_SIZE + (LZMA_LIT_SIZE << ((Properties)->lc + (Properties)->lp))) - -#define kLzmaNeedInitId (-2) - -typedef struct _CLzmaDecoderState -{ - CLzmaProperties Properties; - CProb *Probs; - - #ifdef _LZMA_IN_CB - const unsigned char *Buffer; - const unsigned char *BufferLim; - #endif - - #ifdef _LZMA_OUT_READ - unsigned char *Dictionary; - UInt32 Range; - UInt32 Code; - UInt32 DictionaryPos; - UInt32 GlobalPos; - UInt32 DistanceLimit; - UInt32 Reps[4]; - int State; - int RemainLen; - unsigned char TempDictionary[4]; - #endif -} CLzmaDecoderState; - -#ifdef _LZMA_OUT_READ -#define LzmaDecoderInit(vs) { (vs)->RemainLen = kLzmaNeedInitId; } -#endif - -int LzmaDecode(CLzmaDecoderState *vs, - #ifdef _LZMA_IN_CB - ILzmaInCallback *inCallback, - #else - const unsigned char *inStream, SizeT inSize, SizeT *inSizeProcessed, - #endif - unsigned char *outStream, SizeT outSize, SizeT *outSizeProcessed); - -#endif diff --git a/target/linux/brcm63xx/image/lzma-loader/src/LzmaTypes.h b/target/linux/brcm63xx/image/lzma-loader/src/LzmaTypes.h deleted file mode 100644 index 9c27290757..0000000000 --- a/target/linux/brcm63xx/image/lzma-loader/src/LzmaTypes.h +++ /dev/null @@ -1,45 +0,0 @@ -/* -LzmaTypes.h - -Types for LZMA Decoder - -This file written and distributed to public domain by Igor Pavlov. -This file is part of LZMA SDK 4.40 (2006-05-01) -*/ - -#ifndef __LZMATYPES_H -#define __LZMATYPES_H - -#ifndef _7ZIP_BYTE_DEFINED -#define _7ZIP_BYTE_DEFINED -typedef unsigned char Byte; -#endif - -#ifndef _7ZIP_UINT16_DEFINED -#define _7ZIP_UINT16_DEFINED -typedef unsigned short UInt16; -#endif - -#ifndef _7ZIP_UINT32_DEFINED -#define _7ZIP_UINT32_DEFINED -#ifdef _LZMA_UINT32_IS_ULONG -typedef unsigned long UInt32; -#else -typedef unsigned int UInt32; -#endif -#endif - -/* #define _LZMA_NO_SYSTEM_SIZE_T */ -/* You can use it, if you don't want <stddef.h> */ - -#ifndef _7ZIP_SIZET_DEFINED -#define _7ZIP_SIZET_DEFINED -#ifdef _LZMA_NO_SYSTEM_SIZE_T -typedef UInt32 SizeT; -#else -#include <stddef.h> -typedef size_t SizeT; -#endif -#endif - -#endif diff --git a/target/linux/brcm63xx/image/lzma-loader/src/Makefile b/target/linux/brcm63xx/image/lzma-loader/src/Makefile deleted file mode 100644 index 167bf6455a..0000000000 --- a/target/linux/brcm63xx/image/lzma-loader/src/Makefile +++ /dev/null @@ -1,87 +0,0 @@ -# -# Makefile for the LZMA compressed kernel loader for -# Atheros AR7XXX/AR9XXX based boards -# -# Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org> -# -# Some parts of this file was based on the OpenWrt specific lzma-loader -# for the BCM47xx and ADM5120 based boards: -# Copyright (C) 2004 Manuel Novoa III (mjn3@codepoet.org) -# Copyright (C) 2005 Mineharu Takahara <mtakahar@yahoo.com> -# Copyright (C) 2005 by Oleg I. Vdovikin <oleg@cs.msu.su> -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published -# by the Free Software Foundation. -# - -LOADADDR := -LZMA_TEXT_START := 0x80a00000 -LOADER_DATA := - -CC := $(CROSS_COMPILE)gcc -LD := $(CROSS_COMPILE)ld -OBJCOPY := $(CROSS_COMPILE)objcopy -OBJDUMP := $(CROSS_COMPILE)objdump - -BIN_FLAGS := -O binary -R .reginfo -R .note -R .comment -R .mdebug \ - -R .MIPS.abiflags -S - -CFLAGS = -D__KERNEL__ -Wall -Wstrict-prototypes -Wno-trigraphs -Os \ - -fno-strict-aliasing -fno-common -fomit-frame-pointer -G 0 \ - -mno-abicalls -fno-pic -ffunction-sections -pipe \ - -ffreestanding -fhonour-copts \ - -mabi=32 -march=mips32 \ - -Wa,-32 -Wa,-march=mips32 -Wa,-mips32 -Wa,--trap -CFLAGS += -D_LZMA_PROB32 - -ASFLAGS = $(CFLAGS) -D__ASSEMBLY__ - -LDFLAGS = -static --gc-sections -no-warn-mismatch -LDFLAGS += -e startup -T loader.lds -Ttext $(LZMA_TEXT_START) - -O_FORMAT = $(shell $(OBJDUMP) -i | head -2 | grep elf32) - -OBJECTS := head.o loader.o cache.o board.o printf.o LzmaDecode.o - -ifneq ($(strip $(LOADER_DATA)),) -OBJECTS += data.o -CFLAGS += -DLZMA_WRAPPER=1 -DLOADADDR=$(LOADADDR) -endif - - -all: loader.elf - -# Don't build dependencies, this may die if $(CC) isn't gcc -dep: - -install: - -%.o : %.c - $(CC) $(CFLAGS) -c -o $@ $< - -%.o : %.S - $(CC) $(ASFLAGS) -c -o $@ $< - -data.o: $(LOADER_DATA) - $(LD) -r -b binary --oformat $(O_FORMAT) -T lzma-data.lds -o $@ $< - -loader: $(OBJECTS) - $(LD) $(LDFLAGS) -o $@ $(OBJECTS) - -loader.bin: loader - $(OBJCOPY) $(BIN_FLAGS) $< $@ - -loader2.o: loader.bin - $(LD) -r -b binary --oformat $(O_FORMAT) -o $@ $< - -loader.elf: loader2.o - $(LD) -e startup -T loader2.lds -Ttext $(LOADADDR) -o $@ $< - -mrproper: clean - -clean: - rm -f loader *.elf *.bin *.o - - - diff --git a/target/linux/brcm63xx/image/lzma-loader/src/board.c b/target/linux/brcm63xx/image/lzma-loader/src/board.c deleted file mode 100644 index 6a1b132254..0000000000 --- a/target/linux/brcm63xx/image/lzma-loader/src/board.c +++ /dev/null @@ -1,111 +0,0 @@ -/* - * BCM63XX specific implementation parts - * - * Copyright (C) 2014 Jonas Gorski <jogo@openwrt.org> - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 as published - * by the Free Software Foundation. - */ - -#include <stddef.h> -#include "config.h" -#include "cp0regdef.h" - -#define READREG(r) *(volatile unsigned int *)(r) -#define WRITEREG(r,v) *(volatile unsigned int *)(r) = v - -#define UART_IR_REG 0x10 -#define UART_FIFO_REG 0x14 - -unsigned long uart_base; - -static void wait_xfered(void) -{ - unsigned int val; - - do { - val = READREG(uart_base + UART_IR_REG); - if (val & (1 << 5)) - break; - } while (1); -} - -void board_putc(int ch) -{ - if (!uart_base) - return; - - wait_xfered(); - WRITEREG(uart_base + UART_FIFO_REG, ch); - wait_xfered(); -} - -#define PRID_IMP_BMIPS32_REV4 0x4000 -#define PRID_IMP_BMIPS32_REV8 0x8000 -#define PRID_IMP_BMIPS3300 0x9000 -#define PRID_IMP_BMIPS3300_ALT 0x9100 -#define PRID_IMP_BMIPS3300_BUG 0x0000 -#define PRID_IMP_BMIPS43XX 0xa000 - -void board_init(void) -{ - unsigned long prid, chipid, chipid_reg; - - prid = read_32bit_c0_register($15, 0); - - switch (prid & 0xff00) { - case PRID_IMP_BMIPS32_REV4: - case PRID_IMP_BMIPS32_REV8: - case PRID_IMP_BMIPS3300_ALT: - case PRID_IMP_BMIPS3300_BUG: - chipid_reg = 0xfffe0000; - break; - case PRID_IMP_BMIPS3300: - if ((prid & 0xff) >= 0x33) - chipid_reg = 0xb0000000; - else - chipid_reg = 0xfffe0000; - break; - case PRID_IMP_BMIPS43XX: - if ((prid & 0xff) == 0x04) - chipid_reg = 0xfff8c000; - else if ((prid & 0xff) == 0x70) - return; /* FIXME: 0002a070 can be 6362 and 3380 */ - else if ((prid & 0xff) >= 0x30) - chipid_reg = 0xb0000000; - else - chipid_reg = 0xfffe0000; - break; - default: - return; - } - - chipid = READREG(chipid_reg); - - switch (chipid >> 16) { - case 0x3368: - case 0x6318: - case 0x6328: - case 0x6358: - case 0x6362: - case 0x6368: - case 0x6369: - uart_base = chipid_reg + 0x100; - break; - case 0x6316: - case 0x6326: - uart_base = chipid_reg + 0x180; - break; - case 0x3380: - uart_base = chipid_reg + 0x200; - break; - case 0x6338: - case 0x6345: - case 0x6348: - uart_base = chipid_reg + 0x300; - break; - default: - return; - } -} diff --git a/target/linux/brcm63xx/image/lzma-loader/src/cache.c b/target/linux/brcm63xx/image/lzma-loader/src/cache.c deleted file mode 100644 index 93751c311a..0000000000 --- a/target/linux/brcm63xx/image/lzma-loader/src/cache.c +++ /dev/null @@ -1,46 +0,0 @@ -/* - * LZMA compressed kernel loader for Atheros AR7XXX/AR9XXX based boards - * - * Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org> - * - * The cache manipulation routine has been taken from the U-Boot project. - * (C) Copyright 2003 - * Wolfgang Denk, DENX Software Engineering, <wd@denx.de> - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 as published - * by the Free Software Foundation. - * - */ - -#include "cache.h" -#include "cacheops.h" -#include "config.h" -#include "printf.h" - -#define cache_op(op,addr) \ - __asm__ __volatile__( \ - " .set push \n" \ - " .set noreorder \n" \ - " .set mips3\n\t \n" \ - " cache %0, %1 \n" \ - " .set pop \n" \ - : \ - : "i" (op), "R" (*(unsigned char *)(addr))) - -void flush_cache(unsigned long start_addr, unsigned long size) -{ - unsigned long lsize = CONFIG_CACHELINE_SIZE; - unsigned long addr = start_addr & ~(lsize - 1); - unsigned long aend = (start_addr + size + (lsize - 1)) & ~(lsize - 1); - - printf("blasting from 0x%08x to 0x%08x (0x%08x - 0x%08x)\n", start_addr, size, addr, aend); - - while (1) { - cache_op(Hit_Writeback_Inv_D, addr); - cache_op(Hit_Invalidate_I, addr); - if (addr == aend) - break; - addr += lsize; - } -} diff --git a/target/linux/brcm63xx/image/lzma-loader/src/cache.h b/target/linux/brcm63xx/image/lzma-loader/src/cache.h deleted file mode 100644 index 506a235884..0000000000 --- a/target/linux/brcm63xx/image/lzma-loader/src/cache.h +++ /dev/null @@ -1,17 +0,0 @@ -/* - * LZMA compressed kernel loader for Atheros AR7XXX/AR9XXX based boards - * - * Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org> - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 as published - * by the Free Software Foundation. - * - */ - -#ifndef __CACHE_H -#define __CACHE_H - -void flush_cache(unsigned long start_addr, unsigned long size); - -#endif /* __CACHE_H */ diff --git a/target/linux/brcm63xx/image/lzma-loader/src/cacheops.h b/target/linux/brcm63xx/image/lzma-loader/src/cacheops.h deleted file mode 100644 index 70bcad7694..0000000000 --- a/target/linux/brcm63xx/image/lzma-loader/src/cacheops.h +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Cache operations for the cache instruction. - * - * This file is subject to the terms and conditions of the GNU General Public - * License. See the file "COPYING" in the main directory of this archive - * for more details. - * - * (C) Copyright 1996, 97, 99, 2002, 03 Ralf Baechle - * (C) Copyright 1999 Silicon Graphics, Inc. - */ -#ifndef __ASM_CACHEOPS_H -#define __ASM_CACHEOPS_H - -/* - * Cache Operations available on all MIPS processors with R4000-style caches - */ -#define Index_Invalidate_I 0x00 -#define Index_Writeback_Inv_D 0x01 -#define Index_Load_Tag_I 0x04 -#define Index_Load_Tag_D 0x05 -#define Index_Store_Tag_I 0x08 -#define Index_Store_Tag_D 0x09 -#if defined(CONFIG_CPU_LOONGSON2) -#define Hit_Invalidate_I 0x00 -#else -#define Hit_Invalidate_I 0x10 -#endif -#define Hit_Invalidate_D 0x11 -#define Hit_Writeback_Inv_D 0x15 - -/* - * R4000-specific cacheops - */ -#define Create_Dirty_Excl_D 0x0d -#define Fill 0x14 -#define Hit_Writeback_I 0x18 -#define Hit_Writeback_D 0x19 - -/* - * R4000SC and R4400SC-specific cacheops - */ -#define Index_Invalidate_SI 0x02 -#define Index_Writeback_Inv_SD 0x03 -#define Index_Load_Tag_SI 0x06 -#define Index_Load_Tag_SD 0x07 -#define Index_Store_Tag_SI 0x0A -#define Index_Store_Tag_SD 0x0B -#define Create_Dirty_Excl_SD 0x0f -#define Hit_Invalidate_SI 0x12 -#define Hit_Invalidate_SD 0x13 -#define Hit_Writeback_Inv_SD 0x17 -#define Hit_Writeback_SD 0x1b -#define Hit_Set_Virtual_SI 0x1e -#define Hit_Set_Virtual_SD 0x1f - -/* - * R5000-specific cacheops - */ -#define R5K_Page_Invalidate_S 0x17 - -/* - * RM7000-specific cacheops - */ -#define Page_Invalidate_T 0x16 - -/* - * R10000-specific cacheops - * - * Cacheops 0x02, 0x06, 0x0a, 0x0c-0x0e, 0x16, 0x1a and 0x1e are unused. - * Most of the _S cacheops are identical to the R4000SC _SD cacheops. - */ -#define Index_Writeback_Inv_S 0x03 -#define Index_Load_Tag_S 0x07 -#define Index_Store_Tag_S 0x0B -#define Hit_Invalidate_S 0x13 -#define Cache_Barrier 0x14 -#define Hit_Writeback_Inv_S 0x17 -#define Index_Load_Data_I 0x18 -#define Index_Load_Data_D 0x19 -#define Index_Load_Data_S 0x1b -#define Index_Store_Data_I 0x1c -#define Index_Store_Data_D 0x1d -#define Index_Store_Data_S 0x1f - -#endif /* __ASM_CACHEOPS_H */ diff --git a/target/linux/brcm63xx/image/lzma-loader/src/config.h b/target/linux/brcm63xx/image/lzma-loader/src/config.h deleted file mode 100644 index ce391f8864..0000000000 --- a/target/linux/brcm63xx/image/lzma-loader/src/config.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * LZMA compressed kernel loader for Atheros AR7XXX/AR9XXX based boards - * - * Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org> - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 as published - * by the Free Software Foundation. - * - */ - -#ifndef _CONFIG_H_ -#define _CONFIG_H_ - -#define CONFIG_ICACHE_SIZE (32 * 1024) -#define CONFIG_DCACHE_SIZE (32 * 1024) -#define CONFIG_CACHELINE_SIZE 16 - -#ifndef CONFIG_FLASH_OFFS -#define CONFIG_FLASH_OFFS 0 -#endif - -#ifndef CONFIG_FLASH_MAX -#define CONFIG_FLASH_MAX 0 -#endif - -#ifndef CONFIG_FLASH_STEP -#define CONFIG_FLASH_STEP 0x1000 -#endif - -#endif /* _CONFIG_H_ */ diff --git a/target/linux/brcm63xx/image/lzma-loader/src/cp0regdef.h b/target/linux/brcm63xx/image/lzma-loader/src/cp0regdef.h deleted file mode 100644 index 0d824f4444..0000000000 --- a/target/linux/brcm63xx/image/lzma-loader/src/cp0regdef.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (C) 1994, 1995, 1996, 1997, 2000, 2001 by Ralf Baechle - * - * Copyright (C) 2001, Monta Vista Software - * Author: jsun@mvista.com or jsun@junsun.net - */ -#ifndef _cp0regdef_h_ -#define _cp0regdef_h_ - -#define CP0_INDEX $0 -#define CP0_RANDOM $1 -#define CP0_ENTRYLO0 $2 -#define CP0_ENTRYLO1 $3 -#define CP0_CONTEXT $4 -#define CP0_PAGEMASK $5 -#define CP0_WIRED $6 -#define CP0_BADVADDR $8 -#define CP0_COUNT $9 -#define CP0_ENTRYHI $10 -#define CP0_COMPARE $11 -#define CP0_STATUS $12 -#define CP0_CAUSE $13 -#define CP0_EPC $14 -#define CP0_PRID $15 -#define CP0_CONFIG $16 -#define CP0_LLADDR $17 -#define CP0_WATCHLO $18 -#define CP0_WATCHHI $19 -#define CP0_XCONTEXT $20 -#define CP0_FRAMEMASK $21 -#define CP0_DIAGNOSTIC $22 -#define CP0_PERFORMANCE $25 -#define CP0_ECC $26 -#define CP0_CACHEERR $27 -#define CP0_TAGLO $28 -#define CP0_TAGHI $29 -#define CP0_ERROREPC $30 - -#define read_32bit_c0_register(reg,sel) \ -({ int __res; \ - if (sel == 0) \ - __asm__ __volatile__( \ - "mfc0\t%0, " #reg "\n\t" \ - : "=r" (__res)); \ - else \ - __asm__ __volatile__( \ - ".set\tmips32\n\t" \ - "mfc0\t%0, " #reg ", " #sel "\n\t" \ - ".set mips0\n\t" \ - : "=r" (__res)); \ - __res; \ -}) - -#endif diff --git a/target/linux/brcm63xx/image/lzma-loader/src/head.S b/target/linux/brcm63xx/image/lzma-loader/src/head.S deleted file mode 100644 index 47a7c9bd63..0000000000 --- a/target/linux/brcm63xx/image/lzma-loader/src/head.S +++ /dev/null @@ -1,121 +0,0 @@ -/* - * LZMA compressed kernel loader for Atheros AR7XXX/AR9XXX based boards - * - * Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org> - * - * Some parts of this code was based on the OpenWrt specific lzma-loader - * for the BCM47xx and ADM5120 based boards: - * Copyright (C) 2004 Manuel Novoa III (mjn3@codepoet.org) - * Copyright (C) 2005 by Oleg I. Vdovikin <oleg@cs.msu.su> - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 as published - * by the Free Software Foundation. - */ - -#include <asm/asm.h> -#include <asm/regdef.h> -#include "cp0regdef.h" -#include "cacheops.h" -#include "config.h" - -#define KSEG0 0x80000000 - - .macro ehb - sll zero, 3 - .endm - - .text - -LEAF(startup) - .set noreorder - .set mips32 - - mtc0 zero, CP0_WATCHLO # clear watch registers - mtc0 zero, CP0_WATCHHI - mtc0 zero, CP0_CAUSE # clear before writing status register - - mfc0 t0, CP0_STATUS - li t1, 0x1000001f - or t0, t1 - xori t0, 0x1f - mtc0 t0, CP0_STATUS - ehb - - mtc0 zero, CP0_COUNT - mtc0 zero, CP0_COMPARE - ehb - - la t0, __reloc_label # get linked address of label - bal __reloc_label # branch and link to label to - nop # get actual address -__reloc_label: - subu t0, ra, t0 # get reloc_delta - - beqz t0, __reloc_done # if delta is 0 we are in the right place - nop - - /* Copy our code to the right place */ - la t1, _code_start # get linked address of _code_start - la t2, _code_end # get linked address of _code_end - addu t0, t0, t1 # calculate actual address of _code_start - -__reloc_copy: - lw t3, 0(t0) - sw t3, 0(t1) - add t1, 4 - blt t1, t2, __reloc_copy - add t0, 4 - - /* flush cache */ - la t0, _code_start - la t1, _code_end - - li t2, ~(CONFIG_CACHELINE_SIZE - 1) - and t0, t2 - and t1, t2 - li t2, CONFIG_CACHELINE_SIZE - - b __flush_check - nop - -__flush_line: - cache Hit_Writeback_Inv_D, 0(t0) - cache Hit_Invalidate_I, 0(t0) - add t0, t2 - -__flush_check: - bne t0, t1, __flush_line - nop - - sync - -__reloc_done: - - /* clear bss */ - la t0, _bss_start - la t1, _bss_end - b __bss_check - nop - -__bss_fill: - sw zero, 0(t0) - addi t0, 4 - -__bss_check: - bne t0, t1, __bss_fill - nop - - /* Setup new "C" stack */ - la sp, _stack - - /* reserve stack space for a0-a3 registers */ - subu sp, 16 - - /* jump to the decompressor routine */ - la t0, loader_main - jr t0 - nop - - .set reorder -END(startup) diff --git a/target/linux/brcm63xx/image/lzma-loader/src/loader.c b/target/linux/brcm63xx/image/lzma-loader/src/loader.c deleted file mode 100644 index 0848ce601f..0000000000 --- a/target/linux/brcm63xx/image/lzma-loader/src/loader.c +++ /dev/null @@ -1,175 +0,0 @@ -/* - * LZMA compressed kernel loader for Atheros AR7XXX/AR9XXX based boards - * - * Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org> - * - * Some parts of this code was based on the OpenWrt specific lzma-loader - * for the BCM47xx and ADM5120 based boards: - * Copyright (C) 2004 Manuel Novoa III (mjn3@codepoet.org) - * Copyright (C) 2005 Mineharu Takahara <mtakahar@yahoo.com> - * Copyright (C) 2005 by Oleg I. Vdovikin <oleg@cs.msu.su> - * - * The image_header structure has been taken from the U-Boot project. - * (C) Copyright 2008 Semihalf - * (C) Copyright 2000-2005 - * Wolfgang Denk, DENX Software Engineering, wd@denx.de. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 as published - * by the Free Software Foundation. - */ - -#include <stddef.h> -#include <stdint.h> - -#include "config.h" -#include "cache.h" -#include "printf.h" -#include "LzmaDecode.h" - -#define KSEG0 0x80000000 -#define KSEG1 0xa0000000 - -#define KSEG1ADDR(a) ((((unsigned)(a)) & 0x1fffffffU) | KSEG1) - -#undef LZMA_DEBUG - -#ifdef LZMA_DEBUG -# define DBG(f, a...) printf(f, ## a) -#else -# define DBG(f, a...) do {} while (0) -#endif - -/* beyond the image end, size not known in advance */ -extern unsigned char workspace[]; - - -extern void board_init(void); - -static CLzmaDecoderState lzma_state; -static unsigned char *lzma_data; -static unsigned long lzma_datasize; -static unsigned long lzma_outsize; -static unsigned long kernel_la; - -static void halt(void) -{ - printf("\nSystem halted!\n"); - for(;;); -} - -static __inline__ unsigned char lzma_get_byte(void) -{ - unsigned char c; - - lzma_datasize--; - c = *lzma_data++; - - return c; -} - -static int lzma_init_props(void) -{ - unsigned char props[LZMA_PROPERTIES_SIZE]; - int res; - int i; - - /* read lzma properties */ - for (i = 0; i < LZMA_PROPERTIES_SIZE; i++) - props[i] = lzma_get_byte(); - - /* read the lower half of uncompressed size in the header */ - lzma_outsize = ((SizeT) lzma_get_byte()) + - ((SizeT) lzma_get_byte() << 8) + - ((SizeT) lzma_get_byte() << 16) + - ((SizeT) lzma_get_byte() << 24); - - /* skip rest of the header (upper half of uncompressed size) */ - for (i = 0; i < 4; i++) - lzma_get_byte(); - - res = LzmaDecodeProperties(&lzma_state.Properties, props, - LZMA_PROPERTIES_SIZE); - return res; -} - -static int lzma_decompress(unsigned char *outStream) -{ - SizeT ip, op; - int ret; - - lzma_state.Probs = (CProb *) workspace; - - ret = LzmaDecode(&lzma_state, lzma_data, lzma_datasize, &ip, outStream, - lzma_outsize, &op); - - if (ret != LZMA_RESULT_OK) { - int i; - - DBG("LzmaDecode error %d at %08x, osize:%d ip:%d op:%d\n", - ret, lzma_data + ip, lzma_outsize, ip, op); - - for (i = 0; i < 16; i++) - DBG("%02x ", lzma_data[ip + i]); - - DBG("\n"); - } - - return ret; -} - -static void lzma_init_data(void) -{ - extern unsigned char _lzma_data_start[]; - extern unsigned char _lzma_data_end[]; - - kernel_la = LOADADDR; - lzma_data = _lzma_data_start; - lzma_datasize = _lzma_data_end - _lzma_data_start; -} - -void loader_main(unsigned long reg_a0, unsigned long reg_a1, - unsigned long reg_a2, unsigned long reg_a3) -{ - void (*kernel_entry) (unsigned long, unsigned long, unsigned long, - unsigned long); - int res; - - board_init(); - - printf("\n\nOpenWrt kernel loader for BCM63XX\n"); - printf("Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org>\n"); - printf("Copyright (C) 2014 Jonas Gorski <jogo@openwrt.org>\n"); - - lzma_init_data(); - - res = lzma_init_props(); - if (res != LZMA_RESULT_OK) { - printf("Incorrect LZMA stream properties!\n"); - halt(); - } - - printf("Decompressing kernel... "); - - res = lzma_decompress((unsigned char *) kernel_la); - if (res != LZMA_RESULT_OK) { - printf("failed, "); - switch (res) { - case LZMA_RESULT_DATA_ERROR: - printf("data error!\n"); - break; - default: - printf("unknown error %d!\n", res); - } - halt(); - } else { - printf("done!\n"); - } - - flush_cache(kernel_la, lzma_outsize); - - printf("Starting kernel at %08x...\n\n", kernel_la); - - kernel_entry = (void *) kernel_la; - kernel_entry(reg_a0, reg_a1, reg_a2, reg_a3); -} diff --git a/target/linux/brcm63xx/image/lzma-loader/src/loader.lds b/target/linux/brcm63xx/image/lzma-loader/src/loader.lds deleted file mode 100644 index 01ff852361..0000000000 --- a/target/linux/brcm63xx/image/lzma-loader/src/loader.lds +++ /dev/null @@ -1,34 +0,0 @@ -OUTPUT_ARCH(mips) -SECTIONS { - .text : { - _code_start = .; - *(.text) - *(.text.*) - *(.rodata) - *(.rodata.*) - *(.data.lzma) - } - - . = ALIGN(32); - .data : { - *(.data) - *(.data.*) - } - - . = ALIGN(32); - _code_end = .; - - _bss_start = .; - .bss : { - *(.bss) - *(.bss.*) - } - - . = ALIGN(32); - _bss_end = .; - - . = . + 8192; - _stack = .; - - workspace = .; -} diff --git a/target/linux/brcm63xx/image/lzma-loader/src/loader2.lds b/target/linux/brcm63xx/image/lzma-loader/src/loader2.lds deleted file mode 100644 index db0bb46424..0000000000 --- a/target/linux/brcm63xx/image/lzma-loader/src/loader2.lds +++ /dev/null @@ -1,10 +0,0 @@ -OUTPUT_ARCH(mips) -SECTIONS { - .text : { - startup = .; - *(.text) - *(.text.*) - *(.data) - *(.data.*) - } -} diff --git a/target/linux/brcm63xx/image/lzma-loader/src/lzma-data.lds b/target/linux/brcm63xx/image/lzma-loader/src/lzma-data.lds deleted file mode 100644 index abf756ba13..0000000000 --- a/target/linux/brcm63xx/image/lzma-loader/src/lzma-data.lds +++ /dev/null @@ -1,8 +0,0 @@ -OUTPUT_ARCH(mips) -SECTIONS { - .data.lzma : { - _lzma_data_start = .; - *(.data) - _lzma_data_end = .; - } -} diff --git a/target/linux/brcm63xx/image/lzma-loader/src/printf.c b/target/linux/brcm63xx/image/lzma-loader/src/printf.c deleted file mode 100644 index 7bb5a86e18..0000000000 --- a/target/linux/brcm63xx/image/lzma-loader/src/printf.c +++ /dev/null @@ -1,350 +0,0 @@ -/* - * Copyright (C) 2001 MontaVista Software Inc. - * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - */ - -#include "printf.h" - -extern void board_putc(int ch); - -/* this is the maximum width for a variable */ -#define LP_MAX_BUF 256 - -/* macros */ -#define IsDigit(x) ( ((x) >= '0') && ((x) <= '9') ) -#define Ctod(x) ( (x) - '0') - -/* forward declaration */ -static int PrintChar(char *, char, int, int); -static int PrintString(char *, char *, int, int); -static int PrintNum(char *, unsigned long, int, int, int, int, char, int); - -/* private variable */ -static const char theFatalMsg[] = "fatal error in lp_Print!"; - -/* -*- - * A low level printf() function. - */ -static void -lp_Print(void (*output)(void *, char *, int), - void * arg, - char *fmt, - va_list ap) -{ - -#define OUTPUT(arg, s, l) \ - { if (((l) < 0) || ((l) > LP_MAX_BUF)) { \ - (*output)(arg, (char*)theFatalMsg, sizeof(theFatalMsg)-1); for(;;); \ - } else { \ - (*output)(arg, s, l); \ - } \ - } - - char buf[LP_MAX_BUF]; - - char c; - char *s; - long int num; - - int longFlag; - int negFlag; - int width; - int prec; - int ladjust; - char padc; - - int length; - - for(;;) { - { - /* scan for the next '%' */ - char *fmtStart = fmt; - while ( (*fmt != '\0') && (*fmt != '%')) { - fmt ++; - } - - /* flush the string found so far */ - OUTPUT(arg, fmtStart, fmt-fmtStart); - - /* are we hitting the end? */ - if (*fmt == '\0') break; - } - - /* we found a '%' */ - fmt ++; - - /* check for long */ - if (*fmt == 'l') { - longFlag = 1; - fmt ++; - } else { - longFlag = 0; - } - - /* check for other prefixes */ - width = 0; - prec = -1; - ladjust = 0; - padc = ' '; - - if (*fmt == '-') { - ladjust = 1; - fmt ++; - } - - if (*fmt == '0') { - padc = '0'; - fmt++; - } - - if (IsDigit(*fmt)) { - while (IsDigit(*fmt)) { - width = 10 * width + Ctod(*fmt++); - } - } - - if (*fmt == '.') { - fmt ++; - if (IsDigit(*fmt)) { - prec = 0; - while (IsDigit(*fmt)) { - prec = prec*10 + Ctod(*fmt++); - } - } - } - - - /* check format flag */ - negFlag = 0; - switch (*fmt) { - case 'b': - if (longFlag) { - num = va_arg(ap, long int); - } else { - num = va_arg(ap, int); - } - length = PrintNum(buf, num, 2, 0, width, ladjust, padc, 0); - OUTPUT(arg, buf, length); - break; - - case 'd': - case 'D': - if (longFlag) { - num = va_arg(ap, long int); - } else { - num = va_arg(ap, int); - } - if (num < 0) { - num = - num; - negFlag = 1; - } - length = PrintNum(buf, num, 10, negFlag, width, ladjust, padc, 0); - OUTPUT(arg, buf, length); - break; - - case 'o': - case 'O': - if (longFlag) { - num = va_arg(ap, long int); - } else { - num = va_arg(ap, int); - } - length = PrintNum(buf, num, 8, 0, width, ladjust, padc, 0); - OUTPUT(arg, buf, length); - break; - - case 'u': - case 'U': - if (longFlag) { - num = va_arg(ap, long int); - } else { - num = va_arg(ap, int); - } - length = PrintNum(buf, num, 10, 0, width, ladjust, padc, 0); - OUTPUT(arg, buf, length); - break; - - case 'x': - if (longFlag) { - num = va_arg(ap, long int); - } else { - num = va_arg(ap, int); - } - length = PrintNum(buf, num, 16, 0, width, ladjust, padc, 0); - OUTPUT(arg, buf, length); - break; - - case 'X': - if (longFlag) { - num = va_arg(ap, long int); - } else { - num = va_arg(ap, int); - } - length = PrintNum(buf, num, 16, 0, width, ladjust, padc, 1); - OUTPUT(arg, buf, length); - break; - - case 'c': - c = (char)va_arg(ap, int); - length = PrintChar(buf, c, width, ladjust); - OUTPUT(arg, buf, length); - break; - - case 's': - s = (char*)va_arg(ap, char *); - length = PrintString(buf, s, width, ladjust); - OUTPUT(arg, buf, length); - break; - - case '\0': - fmt --; - break; - - default: - /* output this char as it is */ - OUTPUT(arg, fmt, 1); - } /* switch (*fmt) */ - - fmt ++; - } /* for(;;) */ - - /* special termination call */ - OUTPUT(arg, "\0", 1); -} - - -/* --------------- local help functions --------------------- */ -static int -PrintChar(char * buf, char c, int length, int ladjust) -{ - int i; - - if (length < 1) length = 1; - if (ladjust) { - *buf = c; - for (i=1; i< length; i++) buf[i] = ' '; - } else { - for (i=0; i< length-1; i++) buf[i] = ' '; - buf[length - 1] = c; - } - return length; -} - -static int -PrintString(char * buf, char* s, int length, int ladjust) -{ - int i; - int len=0; - char* s1 = s; - while (*s1++) len++; - if (length < len) length = len; - - if (ladjust) { - for (i=0; i< len; i++) buf[i] = s[i]; - for (i=len; i< length; i++) buf[i] = ' '; - } else { - for (i=0; i< length-len; i++) buf[i] = ' '; - for (i=length-len; i < length; i++) buf[i] = s[i-length+len]; - } - return length; -} - -static int -PrintNum(char * buf, unsigned long u, int base, int negFlag, - int length, int ladjust, char padc, int upcase) -{ - /* algorithm : - * 1. prints the number from left to right in reverse form. - * 2. fill the remaining spaces with padc if length is longer than - * the actual length - * TRICKY : if left adjusted, no "0" padding. - * if negtive, insert "0" padding between "0" and number. - * 3. if (!ladjust) we reverse the whole string including paddings - * 4. otherwise we only reverse the actual string representing the num. - */ - - int actualLength =0; - char *p = buf; - int i; - - do { - int tmp = u %base; - if (tmp <= 9) { - *p++ = '0' + tmp; - } else if (upcase) { - *p++ = 'A' + tmp - 10; - } else { - *p++ = 'a' + tmp - 10; - } - u /= base; - } while (u != 0); - - if (negFlag) { - *p++ = '-'; - } - - /* figure out actual length and adjust the maximum length */ - actualLength = p - buf; - if (length < actualLength) length = actualLength; - - /* add padding */ - if (ladjust) { - padc = ' '; - } - if (negFlag && !ladjust && (padc == '0')) { - for (i = actualLength-1; i< length-1; i++) buf[i] = padc; - buf[length -1] = '-'; - } else { - for (i = actualLength; i< length; i++) buf[i] = padc; - } - - - /* prepare to reverse the string */ - { - int begin = 0; - int end; - if (ladjust) { - end = actualLength - 1; - } else { - end = length -1; - } - - while (end > begin) { - char tmp = buf[begin]; - buf[begin] = buf[end]; - buf[end] = tmp; - begin ++; - end --; - } - } - - /* adjust the string pointer */ - return length; -} - -static void printf_output(void *arg, char *s, int l) -{ - int i; - - // special termination call - if ((l==1) && (s[0] == '\0')) return; - - for (i=0; i< l; i++) { - board_putc(s[i]); - if (s[i] == '\n') board_putc('\r'); - } -} - -void printf(char *fmt, ...) -{ - va_list ap; - va_start(ap, fmt); - lp_Print(printf_output, 0, fmt, ap); - va_end(ap); -} diff --git a/target/linux/brcm63xx/image/lzma-loader/src/printf.h b/target/linux/brcm63xx/image/lzma-loader/src/printf.h deleted file mode 100644 index 9b1c1df232..0000000000 --- a/target/linux/brcm63xx/image/lzma-loader/src/printf.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright (C) 2001 MontaVista Software Inc. - * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - */ - -#ifndef _printf_h_ -#define _printf_h_ - -#include <stdarg.h> -void printf(char *fmt, ...); - -#endif /* _printf_h_ */ |