diff options
author | Rafał Miłecki <rafal@milecki.pl> | 2021-03-05 14:38:41 +0100 |
---|---|---|
committer | Rafał Miłecki <rafal@milecki.pl> | 2021-03-17 21:23:46 +0100 |
commit | bc2c3d99c8e1ea6af1d8be38ea4d6cdf821afa40 (patch) | |
tree | ad3586b7b3b76742d5a7c7a81ed7bd3f0df55bae /target/linux/bcm4908 | |
parent | 058e4c57aab46ee97850767c1cfc34c3661bfdbf (diff) | |
download | upstream-bc2c3d99c8e1ea6af1d8be38ea4d6cdf821afa40.tar.gz upstream-bc2c3d99c8e1ea6af1d8be38ea4d6cdf821afa40.tar.bz2 upstream-bc2c3d99c8e1ea6af1d8be38ea4d6cdf821afa40.zip |
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 8d24da14702b8da820bf2e3952d5691f77136018)
Diffstat (limited to 'target/linux/bcm4908')
5 files changed, 239 insertions, 0 deletions
diff --git a/target/linux/bcm4908/image/Makefile b/target/linux/bcm4908/image/Makefile index 8a40a1e6a9..59284d7b63 100644 --- a/target/linux/bcm4908/image/Makefile +++ b/target/linux/bcm4908/image/Makefile @@ -71,4 +71,14 @@ define Device/netgear_r8000p endef 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)) diff --git a/target/linux/bcm4908/image/tplink_archer-c2300-v1/etc/image_version b/target/linux/bcm4908/image/tplink_archer-c2300-v1/etc/image_version new file mode 100644 index 0000000000..4fc5b5c933 --- /dev/null +++ b/target/linux/bcm4908/image/tplink_archer-c2300-v1/etc/image_version @@ -0,0 +1 @@ +5022HNDrc7HND2221446 diff --git a/target/linux/bcm4908/image/tplink_archer-c2300-v1/nvram.nvm b/target/linux/bcm4908/image/tplink_archer-c2300-v1/nvram.nvm Binary files differnew file mode 100755 index 0000000000..422f391733 --- /dev/null +++ b/target/linux/bcm4908/image/tplink_archer-c2300-v1/nvram.nvm diff --git a/target/linux/bcm4908/patches-5.4/131-0001-dt-bindings-arm-bcm-document-TP-Link-Archer-C2300-bi.patch b/target/linux/bcm4908/patches-5.4/131-0001-dt-bindings-arm-bcm-document-TP-Link-Archer-C2300-bi.patch new file mode 100644 index 0000000000..911237be9a --- /dev/null +++ b/target/linux/bcm4908/patches-5.4/131-0001-dt-bindings-arm-bcm-document-TP-Link-Archer-C2300-bi.patch @@ -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 + diff --git a/target/linux/bcm4908/patches-5.4/131-0002-arm64-dts-broadcom-bcm4908-add-TP-Link-Archer-C2300-.patch b/target/linux/bcm4908/patches-5.4/131-0002-arm64-dts-broadcom-bcm4908-add-TP-Link-Archer-C2300-.patch new file mode 100644 index 0000000000..cc1835e799 --- /dev/null +++ b/target/linux/bcm4908/patches-5.4/131-0002-arm64-dts-broadcom-bcm4908-add-TP-Link-Archer-C2300-.patch @@ -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>; ++ }; ++ }; ++}; |