brcm63xx: use dtb for cvg834g

Add a dtsi for bcm3368, add a dts and profile for cvg834g, and convert
it to use ImageDTB. Since HCS requires more arguments, enhance the max
arguments of the call.
The image name is intentionally left blank to prevent non-initramfs
images to be built, as they currently contain no rootfs and consequently
won't work.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 44561
owl
Jonas Gorski 2015-02-27 17:39:07 +00:00
parent 69b327247c
commit 9a65e1a570
4 changed files with 134 additions and 14 deletions

View File

@ -0,0 +1,75 @@
/ {
#address-cells = <1>;
#size-cells = <1>;
compatible = "brcm,bcm3368";
aliases {
pflash = &pflash;
};
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu@0 {
compatible = "brcm,bmips4350", "mips,mips4Kc";
device_type = "cpu";
reg = <0>;
};
cpu@1 {
compatible = "brcm,bmips4350", "mips,mips4Kc";
device_type = "cpu";
reg = <1>;
};
};
cpu_intc: interrupt-controller {
#address-cells = <0>;
compatible = "mti,cpu-interrupt-controller";
interrupt-controller;
#interrupt-cells = <1>;
};
memory { device_type = "memory"; reg = <0 0>; };
pflash: nor@1e000000 {
compatible = "cfi-flash";
reg = <0x1e000000 0x2000000>;
bank-width = <2>;
#address-cells = <1>;
#size-cells = <1>;
status = "disabled";
};
ubus@fff00000 {
#address-cells = <1>;
#size-cells = <1>;
ranges;
compatible = "simple-bus";
periph_intc: interrupt-controller@fff8c00c {
compatible = "brcm,bcm6345-periph-intc";
reg = <0xfffe000c 0x8>;
interrupt-controller;
#interrupt-cells = <1>;
interrupt-parent = <&cpu_intc>;
interrupts = <2>;
};
ext_intc0: interrupt-controller@fff8c014 {
compatible = "brcm,bcm6345-ext-intc";
reg = <0xfffe0014 0x4>;
interrupt-controller;
#interrupt-cells = <2>;
interrupt-parent = <&periph_intc>;
interrupts = <24>, <25>, <26>, <27>;
};
};
};

View File

@ -0,0 +1,30 @@
/dts-v1/;
/include/ "bcm3368.dtsi"
/ {
model = "Netgear CVG834G";
compatible = "netgear,cvg834g", "brcm,bcm6348";
};
&pflash {
status = "ok";
linux,part-probe = "bcm63xxpart";
cfe@0 {
label = "CFE";
reg = <0x000000 0x010000>;
read-only;
};
linux@10000 {
label = "linux";
reg = <0x010000 0x3e0000>;
};
nvram@3f0000 {
label = "nvram";
reg = <0x3f0000 0x010000>;
};
};

View File

@ -103,9 +103,9 @@ define Image/Build/RedBootDTB
dd if=$(KDIR)/vmlinux-$(3).bin.gz of=$(BIN_DIR)/openwrt-$(2)-vmlinux.gz bs=65536 conv=sync dd if=$(KDIR)/vmlinux-$(3).bin.gz of=$(BIN_DIR)/openwrt-$(2)-vmlinux.gz bs=65536 conv=sync
endef endef
define Image/Build/HCS define Image/Build/HCSDTB
$(STAGING_DIR_HOST)/bin/hcsmakeimage --magic_byte=$(3) \ $(STAGING_DIR_HOST)/bin/hcsmakeimage --magic_byte=$(4) \
--rev_maj=$(4) --rev_min=$(5) --input_file=$(6) \ --rev_maj=$(5) --rev_min=$(6) --input_file=$(KDIR)/$(7) \
--output_file=$(BIN_DIR)/openwrt-$(2)-$(1).bin --output_file=$(BIN_DIR)/openwrt-$(2)-$(1).bin
endef endef
@ -122,10 +122,10 @@ define Image/PrepareLoader
$(MAKE) -C lzma-loader \ $(MAKE) -C lzma-loader \
$(LOADER_MAKEOPTS) \ $(LOADER_MAKEOPTS) \
BUILD_DIR="$(KDIR)" \ BUILD_DIR="$(KDIR)" \
TARGET_DIR="$(BIN_DIR)" \ TARGET_DIR="$(2)" \
LOADER_DATA="$(KDIR)/vmlinux$(1).lzma" \ LOADER_DATA="$(KDIR)/vmlinux$(1).lzma" \
LOADER=$(IMG_PREFIX)-loader$(1).elf \ LOADER=$(IMG_PREFIX)-loader$(1) \
compile loader.elf compile $(3)
rm -f $(KDIR)/vmlinux$(1).lzma rm -f $(KDIR)/vmlinux$(1).lzma
endef endef
@ -133,7 +133,7 @@ endef
define Image/PrepareLoaderDTB define Image/PrepareLoaderDTB
# append dtb to vmlinux, then build a standard LZMA loader # append dtb to vmlinux, then build a standard LZMA loader
cat $(KDIR)/vmlinux$(1) $(DTS_DIR)/$(2).dtb > $(KDIR)/vmlinux$(1)-$(2) cat $(KDIR)/vmlinux$(1) $(DTS_DIR)/$(2).dtb > $(KDIR)/vmlinux$(1)-$(2)
$(call Image/PrepareLoader,$(1)-$(2)) $(call Image/PrepareLoader,$(1)-$(2),$(3),$(4))
endef endef
define Image/PrepareCFELzmaKernel define Image/PrepareCFELzmaKernel
@ -162,14 +162,20 @@ define Image/Prepare
$(foreach board,$(sort $(TARGET_$(PROFILE)_DTBS)), $(call Image/PrepareCFELzmaKernelDTB,$(board))) $(foreach board,$(sort $(TARGET_$(PROFILE)_DTBS)), $(call Image/PrepareCFELzmaKernelDTB,$(board)))
ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y)
$(call Image/PrepareLoader,-initramfs) $(call Image/PrepareLoader,-initramfs,$(BIN_DIR),loader.elf)
$(foreach board,$(sort $(TARGET_$(PROFILE)_DTBS)), $(call Image/PrepareLoaderDTB,-initramfs,$(board))) $(foreach board,$(sort $(TARGET_$(PROFILE)_DTBS)), \
$(call Image/PrepareLoaderDTB,-initramfs,$(board),$(BIN_DIR),loader.elf))
ifneq (,$(findstring cvg834g,$(TARGET_$(PROFILE)_DTBS)))
$(call Image/PrepareLoaderDTB,-initramfs,cvg834g,$(KDIR),loader.bin)
endif
endif endif
endef endef
define Image/Build/Initramfs define Image/Build/Initramfs
# Netgear CVG834G # Netgear CVG834G
$(call Image/Build/HCS,initramfs,cvg834g,a020,0001,0022,$(KDIR)/vmlinux-initramfs) ifneq (,$(findstring cvg834g,$(TARGET_$(PROFILE)_DTBS)))
$(call Image/Build/HCSDTB,initramfs,cvg834g,cvg834g,a020,0001,0022,$(IMG_PREFIX)-loader-initramfs-cvg834g.bin)
endif
endef endef
# $(1) = Image build # $(1) = Image build
@ -181,7 +187,7 @@ endef
# $(7) = additional options # $(7) = additional options
define ImageDTB define ImageDTB
define Image/Build/$(3) define Image/Build/$(3)
$$(call Image/Build/$(1),$$(1),$(3),$(4),$(5),$(6),$(7)) $$(call Image/Build/$(1),$$(1),$(3),$(4),$(5),$(6),$(7),$(8))
endef endef
TARGET_Default_DTBS += $(4) TARGET_Default_DTBS += $(4)
@ -200,9 +206,6 @@ define Image/Build
# RTA1320_16M (numerous routers) # RTA1320_16M (numerous routers)
$(call Image/Build/CFE,$(1),RTA1320_16M,6338,RTA1320_16M,,--layoutver 5) $(call Image/Build/CFE,$(1),RTA1320_16M,6338,RTA1320_16M,,--layoutver 5)
# Netgear CVG834G
$(call Image/Build/HCS,$(1),cvg834g,a020,0001,0022,$(KDIR)/vmlinux)
# build dtb image list # build dtb image list
$(foreach image,$(TARGET_$(PROFILE)_IMAGES),$(call Image/Build/$(image),$(1))) $(foreach image,$(TARGET_$(PROFILE)_IMAGES),$(call Image/Build/$(image),$(1)))
@ -295,6 +298,8 @@ $(eval $(call ImageDTB,CFEDTB,HG556a_AB,HG556a_B,hg556a-b,HW556,6358,--rsa-signa
$(eval $(call ImageDTB,CFEDTB,HG556a_C,HG556a_C,hg556a-c,HW556,6358,--rsa-signature "EchoLife_HG556a" --image-offset 0x20000 --block-size 0x20000 --tag-version 8)) $(eval $(call ImageDTB,CFEDTB,HG556a_C,HG556a_C,hg556a-c,HW556,6358,--rsa-signature "EchoLife_HG556a" --image-offset 0x20000 --block-size 0x20000 --tag-version 8))
# Inventel Livebox 1 # Inventel Livebox 1
$(eval $(call ImageDTB,RedBootDTB,Livebox,livebox,livebox-blue-5g)) $(eval $(call ImageDTB,RedBootDTB,Livebox,livebox,livebox-blue-5g))
# Netgear CVG834G
$(eval $(call ImageDTB,HCSDTB,CVG834G,,cvg834g,a020,0001,0022,vmlinux-cvg834g))
# Netgear DG834GT/PN # Netgear DG834GT/PN
$(eval $(call ImageDTB,CFEDTB,DG834GTPN,DG834GT_PN,dg834gtpn,96348GW-10,6348)) $(eval $(call ImageDTB,CFEDTB,DG834GTPN,DG834GT_PN,dg834gtpn,96348GW-10,6348))
# Pirelli Alice Gate VoIP 2 Plus Wi-Fi AGPF-S0 # Pirelli Alice Gate VoIP 2 Plus Wi-Fi AGPF-S0

View File

@ -5,6 +5,16 @@
# See /LICENSE for more information. # See /LICENSE for more information.
# #
define Profile/CVG834G
NAME:=Netgear CVG834G
PACKAGES:=
endef
define Profile/CVG834G/Description
Package set optimized for CVG834G.
endef
$(eval $(call Profile,CVG834G))
define Profile/DG834GTPN define Profile/DG834GTPN
NAME:=Netgear DG834GT/PN NAME:=Netgear DG834GT/PN
PACKAGES:=kmod-ath5k wpad-mini PACKAGES:=kmod-ath5k wpad-mini