(the vlan configuration inherited from the AP148 is working, which implies that the connections and port mapping are the same)
On 7 December 2015 at 16:57, Josh Bendavid <josh.benda...@cern.ch> wrote: > Ok thanks, > Will clean up the white space + board name and resubmit (maybe also with > the additional changes for the wireless calibration data at this point) > > For the WAN link, I did not test it myself yet with 10 or 100mbps, but the > situation should be the same as described here > https://dev.openwrt.org/changeset/47695/trunk/target/linux/ipq806x > > ie the wan link from the cpu is actually to the 1gbps internal port on the > switch chip, regardless of what is then connected to the wan port on the > switch. > > On 7 December 2015 at 16:46, Jonas Gorski <j...@openwrt.org> wrote: > >> Hi, >> >> On Sun, Dec 6, 2015 at 3:20 PM, Josh Bendavid <josh.benda...@cern.ch> >> wrote: >> > From: Josh Bendavid <joshbenda...@gmail.com> >> > >> > Add initial support for Archer C2600 to Makefiles and profiles. This is >> > sufficient to build a working factory image. Sysupgrade image is not >> > implemented yet. Currently wired network is working, but >> > LED's/buttons/wireless are not. Updated to create a separate dts file >> for >> > c2600, which is currently identical to the ap148 aside that the >> sata-related >> > sections have been removed. >> > >> > Signed-off-by: Josh Bendavid <joshbenda...@gmail.com> >> > --- >> > >> > diff --git a/include/image.mk b/include/image.mk >> > index fd5e3f4..fab3c8a 100644 >> > --- a/include/image.mk >> > +++ b/include/image.mk >> > @@ -327,6 +327,17 @@ define Build/netgear-dni >> > mv $@.new $@ >> > endef >> > >> > +define Build/tplink-safe >> > + $(STAGING_DIR_HOST)/bin/tplink-safeloader \ >> >> This patch is whitespace broken, please use an email client that >> doesn't convert tabs to spaces or git-email. >> >> > + -B $(TPLINK_BOARD_ID) -V OpenWrt.$(REVISION) \ >> > + -k $(word 1,$^) \ >> > + -r $(word 2,$^) \ >> > + -j \ >> > + $(if $(findstring sysupgrade,$1),-S) \ >> > + -o $@.new >> > + mv $@.new $@ >> > +endef >> > + >> > define Build/fit >> > $(TOPDIR)/scripts/mkits.sh \ >> > -D $(DEVICE_NAME) -o $@.its -k $@ \ >> > diff --git a/target/linux/ipq806x/base-files/etc/board.d/02_network >> > b/target/linux/ipq806x/base-files/etc/board.d/02_network >> > index b054230..e000e3d 100755 >> > --- a/target/linux/ipq806x/base-files/etc/board.d/02_network >> > +++ b/target/linux/ipq806x/base-files/etc/board.d/02_network >> > @@ -13,7 +13,8 @@ board=$(ipq806x_board_name) >> > >> > case "$board" in >> > ap148 |\ >> > -r7500) >> > +r7500 |\ >> > +c2600) >> >> Please use alphabetical ordering >> >> > ucidef_add_switch "switch0" \ >> > "1:lan" "2:lan" "3:lan" "4:lan" "6@eth1" "5:wan" "0@eth0" >> > ;; >> > diff --git a/target/linux/ipq806x/base-files/lib/ipq806x.sh >> > b/target/linux/ipq806x/base-files/lib/ipq806x.sh >> > index 5b27bde..262183f 100644 >> > --- a/target/linux/ipq806x/base-files/lib/ipq806x.sh >> > +++ b/target/linux/ipq806x/base-files/lib/ipq806x.sh >> > @@ -23,6 +23,9 @@ ipq806x_board_detect() { >> > *"R7500") >> > name="r7500" >> > ;; >> > + *"C2600") >> > + name="c2600" >> >> same. >> >> > + ;; >> > esac >> > >> > [ -z "$name" ] && name="unknown" >> > diff --git a/target/linux/ipq806x/image/Makefile >> > b/target/linux/ipq806x/image/Makefile >> > index 14cf442..0445914 100644 >> > --- a/target/linux/ipq806x/image/Makefile >> > +++ b/target/linux/ipq806x/image/Makefile >> > @@ -85,6 +85,18 @@ define Device/DniImage >> > endef >> > DEVICE_VARS += KERNEL_SIZE NETGEAR_BOARD_ID NETGEAR_HW_ID >> DEVICE_BLOCK_SIZE >> > DEVICE_PAGE_SIZE >> > >> > +define Device/TpSafeImage >> > + PROFILES += $$(DEVICE_NAME) >> > + FILESYSTEMS := squashfs >> > + KERNEL_SUFFIX := -uImage >> > + KERNEL = kernel-bin | append-dtb | uImage none >> > + KERNEL_NAME := zImage >> > + TPLINK_BOARD_ID := >> > + IMAGES := factory.bin >> > + IMAGE/factory.bin := tplink-safe >> > +endef >> > +DEVICE_VARS += TPLINK_BOARD_ID >> > + >> > define Device/AP148 >> > $(call Device/FitImage) >> > $(call Device/UbiFit) >> > @@ -103,6 +115,15 @@ define Device/AP148-legacy >> > BOARD_NAME := ap148 >> > endef >> > >> > +define Device/C2600 >> > + $(call Device/TpSafeImage) >> > + DEVICE_DTS := qcom-ipq8064-c2600 >> > + BLOCKSIZE := 128KiB >> > + PAGESIZE := 2048 >> > + BOARD_NAME := ap148 >> >> This must be the boardname you assign in board_detect. >> >> > + TPLINK_BOARD_ID := C2600 >> > +endef >> > + >> > define Device/DB149 >> > $(call Device/FitImage) >> > DEVICE_DTS := qcom-ipq8064-db149 >> > @@ -121,6 +142,6 @@ define Device/R7500 >> > BOARD_NAME := r7500 >> > endef >> > >> > -TARGET_DEVICES += AP148 AP148-legacy DB149 R7500 >> > +TARGET_DEVICES += AP148 AP148-legacy C2600 DB149 R7500 >> > >> > $(eval $(call BuildImage)) >> > diff --git >> > >> a/target/linux/ipq806x/patches-3.18/711-ARM-qcom-add-TP-Link-Archer-C2600-device-tree.patch >> > >> b/target/linux/ipq806x/patches-3.18/711-ARM-qcom-add-TP-Link-Archer-C2600-device-tree.patch >> > index e69de29..e750b98 100644 >> > --- >> > >> a/target/linux/ipq806x/patches-3.18/711-ARM-qcom-add-TP-Link-Archer-C2600-device-tree.patch >> > +++ >> > >> b/target/linux/ipq806x/patches-3.18/711-ARM-qcom-add-TP-Link-Archer-C2600-device-tree.patch >> > @@ -0,0 +1,246 @@ >> > +diff -urN a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile >> > +--- a/arch/arm/boot/dts/Makefile 2015-11-25 22:51:15.148899604 +0100 >> > ++++ b/arch/arm/boot/dts/Makefile 2015-12-06 14:33:31.092396982 +0100 >> > +@@ -362,6 +362,7 @@ >> > + qcom-ipq8064-ap148.dtb \ >> > + qcom-ipq8064-db149.dtb \ >> > + qcom-ipq8064-r7500.dtb \ >> > ++ qcom-ipq8064-c2600.dtb \ >> > + qcom-msm8660-surf.dtb \ >> > + qcom-msm8960-cdp.dtb \ >> > + qcom-msm8974-sony-xperia-honami.dtb >> > +diff -urN a/arch/arm/boot/dts/qcom-ipq8064-c2600.dts >> > b/arch/arm/boot/dts/qcom-ipq8064-c2600.dts >> > +--- a/arch/arm/boot/dts/qcom-ipq8064-c2600.dts 1970-01-01 >> > 01:00:00.000000000 +0100 >> > ++++ b/arch/arm/boot/dts/qcom-ipq8064-c2600.dts 2015-12-06 >> > 14:20:05.152365670 +0100 >> > +@@ -0,0 +1,231 @@ >> > ++#include "qcom-ipq8064-v1.0.dtsi" >> > ++ >> > ++/ { >> > ++ model = "TP-Link Archer C2600"; >> > ++ compatible = "tplink,c2600", "qcom,ipq8064"; >> > ++ >> > ++ memory@0 { >> > ++ reg = <0x42000000 0x1e000000>; >> > ++ device_type = "memory"; >> > ++ }; >> > ++ >> > ++ reserved-memory { >> > ++ #address-cells = <1>; >> > ++ #size-cells = <1>; >> > ++ ranges; >> > ++ rsvd@41200000 { >> > ++ reg = <0x41200000 0x300000>; >> > ++ no-map; >> > ++ }; >> > ++ }; >> > ++ >> > ++ aliases { >> > ++ serial0 = &uart4; >> > ++ mdio-gpio0 = &mdio0; >> > ++ }; >> > ++ >> > ++ chosen { >> > ++ linux,stdout-path = "serial0:115200n8"; >> > ++ }; >> > ++ >> > ++ soc { >> > ++ pinmux@800000 { >> > ++ i2c4_pins: i2c4_pinmux { >> > ++ pins = "gpio12", "gpio13"; >> > ++ function = "gsbi4"; >> > ++ bias-disable; >> > ++ }; >> > ++ >> > ++ spi_pins: spi_pins { >> > ++ mux { >> > ++ pins = "gpio18", "gpio19", "gpio21"; >> > ++ function = "gsbi5"; >> > ++ drive-strength = <10>; >> > ++ bias-none; >> > ++ }; >> > ++ }; >> > ++ >> > ++ nand_pins: nand_pins { >> > ++ mux { >> > ++ pins = "gpio34", "gpio35", "gpio36", >> > ++ "gpio37", "gpio38", "gpio39", >> > ++ "gpio40", "gpio41", "gpio42", >> > ++ "gpio43", "gpio44", "gpio45", >> > ++ "gpio46", "gpio47"; >> > ++ function = "nand"; >> > ++ drive-strength = <10>; >> > ++ bias-disable; >> > ++ }; >> > ++ >> > ++ pullups { >> > ++ pins = "gpio39"; >> > ++ bias-pull-up; >> > ++ }; >> > ++ >> > ++ hold { >> > ++ pins = "gpio40", "gpio41", "gpio42", >> > ++ "gpio43", "gpio44", "gpio45", >> > ++ "gpio46", "gpio47"; >> > ++ bias-bus-hold; >> > ++ }; >> > ++ }; >> > ++ >> > ++ mdio0_pins: mdio0_pins { >> > ++ mux { >> > ++ pins = "gpio0", "gpio1"; >> > ++ function = "gpio"; >> > ++ drive-strength = <8>; >> > ++ bias-disable; >> > ++ }; >> > ++ }; >> > ++ >> > ++ rgmii2_pins: rgmii2_pins { >> > ++ mux { >> > ++ pins = "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32", >> > ++ "gpio51", "gpio52", "gpio59", "gpio60", "gpio61", "gpio62" ; >> > ++ function = "rgmii2"; >> > ++ drive-strength = <8>; >> > ++ bias-disable; >> > ++ }; >> > ++ }; >> > ++ }; >> > ++ >> > ++ gsbi@16300000 { >> > ++ qcom,mode = <GSBI_PROT_I2C_UART>; >> > ++ status = "ok"; >> > ++ serial@16340000 { >> > ++ status = "ok"; >> > ++ }; >> > ++ /* >> > ++ * The i2c device on gsbi4 should not be enabled. >> > ++ * On ipq806x designs gsbi4 i2c is meant for exclusive >> > ++ * RPM usage. Turning this on in kernel manifests as >> > ++ * i2c failure for the RPM. >> > ++ */ >> > ++ }; >> > ++ >> > ++ gsbi5: gsbi@1a200000 { >> > ++ qcom,mode = <GSBI_PROT_SPI>; >> > ++ status = "ok"; >> > ++ >> > ++ spi4: spi@1a280000 { >> > ++ status = "ok"; >> > ++ spi-max-frequency = <50000000>; >> > ++ >> > ++ pinctrl-0 = <&spi_pins>; >> > ++ pinctrl-names = "default"; >> > ++ >> > ++ cs-gpios = <&qcom_pinmux 20 0>; >> > ++ >> > ++ flash: m25p80@0 { >> > ++ compatible = "s25fl256s1"; >> > ++ #address-cells = <1>; >> > ++ #size-cells = <1>; >> > ++ spi-max-frequency = <50000000>; >> > ++ reg = <0>; >> >> So it has both nor and nand flash? >> >> > ++ >> > ++ linux,part-probe = "qcom-smem"; >> > ++ }; >> > ++ }; >> > ++ }; >> > ++ >> > ++ phy@100f8800 { /* USB3 port 1 HS phy */ >> > ++ status = "ok"; >> > ++ }; >> > ++ >> > ++ phy@100f8830 { /* USB3 port 1 SS phy */ >> > ++ status = "ok"; >> > ++ }; >> > ++ >> > ++ phy@110f8800 { /* USB3 port 0 HS phy */ >> > ++ status = "ok"; >> > ++ }; >> > ++ >> > ++ phy@110f8830 { /* USB3 port 0 SS phy */ >> > ++ status = "ok"; >> > ++ }; >> > ++ >> > ++ usb30@0 { >> > ++ status = "ok"; >> > ++ }; >> > ++ >> > ++ usb30@1 { >> > ++ status = "ok"; >> > ++ }; >> > ++ >> > ++ pcie0: pci@1b500000 { >> > ++ status = "ok"; >> > ++ phy-tx0-term-offset = <7>; >> > ++ }; >> > ++ >> > ++ pcie1: pci@1b700000 { >> > ++ status = "ok"; >> > ++ phy-tx0-term-offset = <7>; >> > ++ }; >> > ++ >> > ++ nand@1ac00000 { >> > ++ status = "ok"; >> > ++ >> > ++ pinctrl-0 = <&nand_pins>; >> > ++ pinctrl-names = "default"; >> > ++ >> > ++ nand-ecc-strength = <4>; >> > ++ nand-bus-width = <8>; >> > ++ >> > ++ linux,part-probe = "qcom-smem"; >> > ++ }; >> > ++ >> > ++ mdio0: mdio { >> > ++ compatible = "virtual,mdio-gpio"; >> > ++ #address-cells = <1>; >> > ++ #size-cells = <0>; >> > ++ gpios = <&qcom_pinmux 1 0 &qcom_pinmux 0 0>; >> > ++ pinctrl-0 = <&mdio0_pins>; >> > ++ pinctrl-names = "default"; >> > ++ >> > ++ phy0: ethernet-phy@0 { >> > ++ device_type = "ethernet-phy"; >> > ++ reg = <0>; >> > ++ qca,ar8327-initvals = < >> > ++ 0x00004 0x7600000 /* PAD0_MODE */ >> > ++ 0x00008 0x1000000 /* PAD5_MODE */ >> > ++ 0x0000c 0x80 /* PAD6_MODE */ >> > ++ 0x000e4 0xaa545 /* MAC_POWER_SEL */ >> > ++ 0x000e0 0xc74164de /* SGMII_CTRL */ >> > ++ 0x0007c 0x4e /* PORT0_STATUS */ >> > ++ 0x00094 0x4e /* PORT6_STATUS */ >> > ++ >; >> > ++ }; >> > ++ >> > ++ phy4: ethernet-phy@4 { >> > ++ device_type = "ethernet-phy"; >> > ++ reg = <4>; >> > ++ }; >> > ++ }; >> > ++ >> > ++ gmac1: ethernet@37200000 { >> > ++ status = "ok"; >> > ++ phy-mode = "rgmii"; >> > ++ phy-handle = <&phy4>; >> >> So your wan port works fine with a 10 or 100 Mbit connection? >> >> > ++ qcom,id = <1>; >> > ++ >> > ++ pinctrl-0 = <&rgmii2_pins>; >> > ++ pinctrl-names = "default"; >> > ++ }; >> > ++ >> > ++ gmac2: ethernet@37400000 { >> > ++ status = "ok"; >> > ++ phy-mode = "sgmii"; >> > ++ qcom,id = <2>; >> > ++ >> > ++ fixed-link { >> > ++ speed = <1000>; >> > ++ full-duplex; >> > ++ }; >> > ++ }; >> > ++ }; >> > ++}; >> > ++ >> > ++&adm_dma { >> > ++ status = "ok"; >> > ++}; >> >> (snip) >> >> > >> > >> > On 5 December 2015 at 15:08, Jonas Gorski <j...@openwrt.org> wrote: >> >> Please don't top post or send new versions as replies to older version. >> >> >> Jonas >> > >
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel