bcm4908: prepare to support TP-Link Archer C2300 V1
It's a BCM4906 based device (2 CPU cores). It has 512 MiB of RAM, 4 LAN
ports, 1 WAN port, 2 USB ports, NAND flash. WiFi unknown at this point.
Flashing is possible using CFE only, proper image will be worked on
later.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 8d24da1470)
			
			
This commit is contained in:
		| @@ -71,4 +71,14 @@ define Device/netgear_r8000p | |||||||
| endef | endef | ||||||
| TARGET_DEVICES += netgear_r8000p | TARGET_DEVICES += netgear_r8000p | ||||||
|  |  | ||||||
|  | define Device/tplink_archer-c2300-v1 | ||||||
|  |   DEVICE_VENDOR := TP-Link | ||||||
|  |   DEVICE_MODEL := Archer C2300 | ||||||
|  |   DEVICE_VARIANT := v1 | ||||||
|  |   DEVICE_DTS := broadcom/bcm4908/bcm4906-tplink-archer-c2300-v1 | ||||||
|  |   IMAGES := bin | ||||||
|  |   IMAGE/bin := append-ubi | bcm4908img | ||||||
|  | endef | ||||||
|  | TARGET_DEVICES += tplink_archer-c2300-v1 | ||||||
|  |  | ||||||
| $(eval $(call BuildImage)) | $(eval $(call BuildImage)) | ||||||
|   | |||||||
| @@ -0,0 +1 @@ | |||||||
|  | 5022HNDrc7HND2221446 | ||||||
							
								
								
									
										
											BIN
										
									
								
								target/linux/bcm4908/image/tplink_archer-c2300-v1/nvram.nvm
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								target/linux/bcm4908/image/tplink_archer-c2300-v1/nvram.nvm
									
									
									
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -0,0 +1,21 @@ | |||||||
|  | From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl> | ||||||
|  | Date: Fri, 5 Mar 2021 13:34:03 +0100 | ||||||
|  | Subject: [PATCH] dt-bindings: arm: bcm: document TP-Link Archer C2300 binding | ||||||
|  |  | ||||||
|  | One more BCM4906 based device. | ||||||
|  |  | ||||||
|  | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | ||||||
|  | --- | ||||||
|  |  Documentation/devicetree/bindings/arm/bcm/brcm,bcm4908.yaml | 1 + | ||||||
|  |  1 file changed, 1 insertion(+) | ||||||
|  |  | ||||||
|  | --- a/Documentation/devicetree/bindings/arm/bcm/brcm,bcm4908.yaml | ||||||
|  | +++ b/Documentation/devicetree/bindings/arm/bcm/brcm,bcm4908.yaml | ||||||
|  | @@ -21,6 +21,7 @@ properties: | ||||||
|  |          items: | ||||||
|  |            - enum: | ||||||
|  |                - netgear,r8000p | ||||||
|  | +              - tplink,archer-c2300-v1 | ||||||
|  |            - const: brcm,bcm4906 | ||||||
|  |            - const: brcm,bcm4908 | ||||||
|  |   | ||||||
| @@ -0,0 +1,207 @@ | |||||||
|  | From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl> | ||||||
|  | Date: Fri, 5 Mar 2021 13:36:25 +0100 | ||||||
|  | Subject: [PATCH] arm64: dts: broadcom: bcm4908: add TP-Link Archer C2300 V1 | ||||||
|  |  | ||||||
|  | Archer C2300 V1 is a home router based on the BCM4906 (2 CPU cores). It | ||||||
|  | has 512 MiB of RAM, NAND flash, USB 2.0 and USB 3.0 ports, 4 LAN ports, | ||||||
|  | 1 WAN port. | ||||||
|  |  | ||||||
|  | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | ||||||
|  | --- | ||||||
|  |  arch/arm64/boot/dts/broadcom/bcm4908/Makefile |   1 + | ||||||
|  |  .../bcm4906-tplink-archer-c2300-v1.dts        | 182 ++++++++++++++++++ | ||||||
|  |  2 files changed, 183 insertions(+) | ||||||
|  |  create mode 100644 arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-tplink-archer-c2300-v1.dts | ||||||
|  |  | ||||||
|  | --- a/arch/arm64/boot/dts/broadcom/bcm4908/Makefile | ||||||
|  | +++ b/arch/arm64/boot/dts/broadcom/bcm4908/Makefile | ||||||
|  | @@ -1,3 +1,4 @@ | ||||||
|  |  # SPDX-License-Identifier: GPL-2.0 | ||||||
|  |  dtb-$(CONFIG_ARCH_BCM4908) += bcm4906-netgear-r8000p.dtb | ||||||
|  | +dtb-$(CONFIG_ARCH_BCM4908) += bcm4906-tplink-archer-c2300-v1.dtb | ||||||
|  |  dtb-$(CONFIG_ARCH_BCM4908) += bcm4908-asus-gt-ac5300.dtb | ||||||
|  | --- /dev/null | ||||||
|  | +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-tplink-archer-c2300-v1.dts | ||||||
|  | @@ -0,0 +1,182 @@ | ||||||
|  | +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||||
|  | + | ||||||
|  | +#include <dt-bindings/gpio/gpio.h> | ||||||
|  | +#include <dt-bindings/input/input.h> | ||||||
|  | +#include <dt-bindings/leds/common.h> | ||||||
|  | + | ||||||
|  | +#include "bcm4906.dtsi" | ||||||
|  | + | ||||||
|  | +/ { | ||||||
|  | +	compatible = "tplink,archer-c2300-v1", "brcm,bcm4906", "brcm,bcm4908"; | ||||||
|  | +	model = "TP-Link Archer C2300 V1"; | ||||||
|  | + | ||||||
|  | +	memory@0 { | ||||||
|  | +		device_type = "memory"; | ||||||
|  | +		reg = <0x00 0x00 0x00 0x20000000>; | ||||||
|  | +	}; | ||||||
|  | + | ||||||
|  | +	leds { | ||||||
|  | +		compatible = "gpio-leds"; | ||||||
|  | + | ||||||
|  | +		power-white { | ||||||
|  | +			function = LED_FUNCTION_POWER; | ||||||
|  | +			color = <LED_COLOR_ID_BLUE>; | ||||||
|  | +			gpios = <&gpio0 0 GPIO_ACTIVE_LOW>; | ||||||
|  | +		}; | ||||||
|  | + | ||||||
|  | +		2ghz { | ||||||
|  | +			function = "2ghz"; | ||||||
|  | +			color = <LED_COLOR_ID_BLUE>; | ||||||
|  | +			gpios = <&gpio0 2 GPIO_ACTIVE_LOW>; | ||||||
|  | +		}; | ||||||
|  | + | ||||||
|  | +		5ghz { | ||||||
|  | +			function = "5ghz"; | ||||||
|  | +			color = <LED_COLOR_ID_BLUE>; | ||||||
|  | +			gpios = <&gpio0 3 GPIO_ACTIVE_LOW>; | ||||||
|  | +		}; | ||||||
|  | + | ||||||
|  | +		wan-amber { | ||||||
|  | +			function = LED_FUNCTION_WAN; | ||||||
|  | +			color = <LED_COLOR_ID_AMBER>; | ||||||
|  | +			gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>; | ||||||
|  | +		}; | ||||||
|  | + | ||||||
|  | +		wan-blue { | ||||||
|  | +			function = LED_FUNCTION_WAN; | ||||||
|  | +			color = <LED_COLOR_ID_BLUE>; | ||||||
|  | +			gpios = <&gpio0 10 GPIO_ACTIVE_LOW>; | ||||||
|  | +		}; | ||||||
|  | + | ||||||
|  | +		lan { | ||||||
|  | +			function = LED_FUNCTION_LAN; | ||||||
|  | +			color = <LED_COLOR_ID_BLUE>; | ||||||
|  | +			gpios = <&gpio0 12 GPIO_ACTIVE_LOW>; | ||||||
|  | +		}; | ||||||
|  | + | ||||||
|  | +		wps { | ||||||
|  | +			function = LED_FUNCTION_WPS; | ||||||
|  | +			color = <LED_COLOR_ID_BLUE>; | ||||||
|  | +			gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; | ||||||
|  | +		}; | ||||||
|  | + | ||||||
|  | +		usb-high-white { | ||||||
|  | +			function = "usbup"; | ||||||
|  | +			color = <LED_COLOR_ID_BLUE>; | ||||||
|  | +			gpios = <&gpio0 15 GPIO_ACTIVE_LOW>; | ||||||
|  | +		}; | ||||||
|  | + | ||||||
|  | +		usb-low-white { | ||||||
|  | +			function = "usbdown"; | ||||||
|  | +			color = <LED_COLOR_ID_BLUE>; | ||||||
|  | +			gpios = <&gpio0 17 GPIO_ACTIVE_LOW>; | ||||||
|  | +		}; | ||||||
|  | + | ||||||
|  | +		brightness { | ||||||
|  | +			function = LED_FUNCTION_BACKLIGHT; | ||||||
|  | +			color = <LED_COLOR_ID_WHITE>; | ||||||
|  | +			gpios = <&gpio0 19 GPIO_ACTIVE_LOW>; | ||||||
|  | +		}; | ||||||
|  | +	}; | ||||||
|  | + | ||||||
|  | +	gpio-keys-polled { | ||||||
|  | +		compatible = "gpio-keys-polled"; | ||||||
|  | +		poll-interval = <100>; | ||||||
|  | + | ||||||
|  | +		brightness { | ||||||
|  | +			label = "LEDs"; | ||||||
|  | +			linux,code = <KEY_BRIGHTNESS_ZERO>; | ||||||
|  | +			gpios = <&gpio0 18 GPIO_ACTIVE_LOW>; | ||||||
|  | +		}; | ||||||
|  | + | ||||||
|  | +		wps { | ||||||
|  | +			label = "WPS"; | ||||||
|  | +			linux,code = <KEY_WPS_BUTTON>; | ||||||
|  | +			gpios = <&gpio0 21 GPIO_ACTIVE_LOW>; | ||||||
|  | +		}; | ||||||
|  | + | ||||||
|  | +		wifi { | ||||||
|  | +			label = "WiFi"; | ||||||
|  | +			linux,code = <KEY_RFKILL>; | ||||||
|  | +			gpios = <&gpio0 22 GPIO_ACTIVE_LOW>; | ||||||
|  | +		}; | ||||||
|  | + | ||||||
|  | +		restart { | ||||||
|  | +			label = "Reset"; | ||||||
|  | +			linux,code = <KEY_RESTART>; | ||||||
|  | +			gpios = <&gpio0 23 GPIO_ACTIVE_LOW>; | ||||||
|  | +		}; | ||||||
|  | +	}; | ||||||
|  | +}; | ||||||
|  | + | ||||||
|  | +&usb_phy { | ||||||
|  | +	brcm,ioc = <1>; | ||||||
|  | +	status = "okay"; | ||||||
|  | +}; | ||||||
|  | + | ||||||
|  | +&ehci { | ||||||
|  | +	status = "okay"; | ||||||
|  | +}; | ||||||
|  | + | ||||||
|  | +&ohci { | ||||||
|  | +	status = "okay"; | ||||||
|  | +}; | ||||||
|  | + | ||||||
|  | +&xhci { | ||||||
|  | +	status = "okay"; | ||||||
|  | +}; | ||||||
|  | + | ||||||
|  | +&ports { | ||||||
|  | +	port@0 { | ||||||
|  | +		label = "lan4"; | ||||||
|  | +	}; | ||||||
|  | + | ||||||
|  | +	port@1 { | ||||||
|  | +		label = "lan3"; | ||||||
|  | +	}; | ||||||
|  | + | ||||||
|  | +	port@2 { | ||||||
|  | +		label = "lan2"; | ||||||
|  | +	}; | ||||||
|  | + | ||||||
|  | +	port@3 { | ||||||
|  | +		label = "lan1"; | ||||||
|  | +	}; | ||||||
|  | + | ||||||
|  | +	port@7 { | ||||||
|  | +		reg = <7>; | ||||||
|  | +		phy-mode = "internal"; | ||||||
|  | +		phy-handle = <&phy12>; | ||||||
|  | +		label = "wan"; | ||||||
|  | +	}; | ||||||
|  | +}; | ||||||
|  | + | ||||||
|  | +&nandcs { | ||||||
|  | +	nand-ecc-strength = <4>; | ||||||
|  | +	nand-ecc-step-size = <512>; | ||||||
|  | +	nand-on-flash-bbt; | ||||||
|  | + | ||||||
|  | +	#address-cells = <1>; | ||||||
|  | +	#size-cells = <0>; | ||||||
|  | + | ||||||
|  | +	partitions { | ||||||
|  | +		compatible = "brcm,bcm4908-partitions"; | ||||||
|  | +		#address-cells = <1>; | ||||||
|  | +		#size-cells = <1>; | ||||||
|  | + | ||||||
|  | +		partition@0 { | ||||||
|  | +			label = "cferom"; | ||||||
|  | +			reg = <0x0 0x100000>; | ||||||
|  | +		}; | ||||||
|  | + | ||||||
|  | +		partition@100000 { | ||||||
|  | +			compatible = "brcm,bcm4908-firmware"; | ||||||
|  | +			reg = <0x100000 0x3900000>; | ||||||
|  | +		}; | ||||||
|  | + | ||||||
|  | +		partition@5800000 { | ||||||
|  | +			compatible = "brcm,bcm4908-firmware"; | ||||||
|  | +			reg = <0x3a00000 0x3900000>; | ||||||
|  | +		}; | ||||||
|  | +	}; | ||||||
|  | +}; | ||||||
		Reference in New Issue
	
	Block a user
	 Rafał Miłecki
					Rafał Miłecki