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

Reply via email to