1279972Sadrian# The TP-Link 1043NDv2 is based on the AP135 with a couple of minor 2279972Sadrian# differences - well, besides having no 11ac. 3279972Sadrian 4279972Sadrian# $FreeBSD$ 5279972Sadrian 6279972Sadrian# QCA955X_ETH_CFG_RGMII_EN (1 << 0) 7279972Sadrianhint.qca955x_gmac.0.gmac_cfg=0x1 8279972Sadrian 9280948Sadrian# Use base mac address for wifi; +1 and +2 for arge0/arge1. 10280948Sadrianhint.ar71xx.0.eeprom_mac_addr=0x1f01fc00 11280948Sadrianhint.ar71xx.0.eeprom_mac_isascii=0 12280948Sadrian 13280948Sadrianhint.ar71xx_mac_map.0.devid=ath 14280948Sadrianhint.ar71xx_mac_map.0.unitid=0 15280948Sadrianhint.ar71xx_mac_map.0.offset=0 16280948Sadrianhint.ar71xx_mac_map.0.is_local=0 17280948Sadrian 18280948Sadrianhint.ar71xx_mac_map.1.devid=arge 19280948Sadrianhint.ar71xx_mac_map.1.unitid=0 20280948Sadrianhint.ar71xx_mac_map.1.offset=1 21280948Sadrianhint.ar71xx_mac_map.1.is_local=0 22280948Sadrian 23280948Sadrianhint.ar71xx_mac_map.2.devid=arge 24280948Sadrianhint.ar71xx_mac_map.2.unitid=1 25280948Sadrianhint.ar71xx_mac_map.2.offset=2 26280948Sadrianhint.ar71xx_mac_map.2.is_local=0 27280948Sadrian 28279972Sadrian# mdiobus0 on arge0 29279972Sadrianhint.argemdio.0.at="nexus0" 30279972Sadrianhint.argemdio.0.maddr=0x19000000 31279972Sadrianhint.argemdio.0.msize=0x1000 32279972Sadrianhint.argemdio.0.order=0 33279972Sadrian 34279972Sadrian# mdiobus1 on arge1 - required to bring up arge1? 35279972Sadrianhint.argemdio.1.at="nexus0" 36279972Sadrianhint.argemdio.1.maddr=0x1a000000 37279972Sadrianhint.argemdio.1.msize=0x1000 38279972Sadrianhint.argemdio.1.order=0 39279972Sadrian 40279972Sadrian# AR8327 - connected via mdiobus0 on arge0 41279972Sadrianhint.arswitch.0.at="mdio0" 42279972Sadrianhint.arswitch.0.is_7240=0 # definitely not the internal switch! 43279972Sadrianhint.arswitch.0.is_9340=0 # not the internal switch! 44279972Sadrianhint.arswitch.0.numphys=5 # all ports are PHYs 45279972Sadrianhint.arswitch.0.phy4cpu=0 46279972Sadrianhint.arswitch.0.is_rgmii=0 # not needed 47279972Sadrianhint.arswitch.0.is_gmii=0 # not needed 48279972Sadrian 49279972Sadrian# This is where it gets a bit odd. port 0 and port 6 are CPU ports. 50279972Sadrian# The current code only supports one CPU port. So hm, what should 51279972Sadrian# we do to hook PAD6 up to be RGMII but a PHY, not a MAC? 52279972Sadrian 53279972Sadrian# The other trick - how do we get arge1 (hooked up to GMAC0) to work? 54279972Sadrian# That's currently supposed to be hooked up to CPU port 0. 55279972Sadrian 56279972Sadrian# Other AR8327 configuration parameters 57279972Sadrian 58279972Sadrian# AP136-020 parameters 59279972Sadrian 60279972Sadrian# GMAC0 AR8327 -> GMAC1 (arge1) SoC, SGMII 61279972Sadrian 62279972Sadrian# AR8327_PAD_MAC_SGMII 63279972Sadrianhint.arswitch.0.pad.0.mode=3 64279972Sadrian#hint.arswitch.0.pad.0.rxclk_delay_sel=0 65279972Sadrianhint.arswitch.0.pad.0.sgmii_delay_en=1 66279972Sadrian 67279972Sadrian# GMAC6 AR8327 -> GMAC0 (arge0) SoC, RGMII 68279972Sadrian 69279972Sadrian# AR8327_PAD_MAC_RGMII 70279972Sadrianhint.arswitch.0.pad.6.mode=6 71279972Sadrianhint.arswitch.0.pad.6.txclk_delay_en=1 72279972Sadrianhint.arswitch.0.pad.6.rxclk_delay_en=1 73279972Sadrian# AR8327_CLK_DELAY_SEL1 74279972Sadrianhint.arswitch.0.pad.6.txclk_delay_sel=1 75279972Sadrian# AR8327_CLK_DELAY_SEL2 76279972Sadrianhint.arswitch.0.pad.6.rxclk_delay_sel=2 77279972Sadrian 78279972Sadrianhint.arswitch.0.led.ctrl0=0xcc35cc35 79279972Sadrianhint.arswitch.0.led.ctrl1=0xca35ca35 80279972Sadrianhint.arswitch.0.led.ctrl2=0xc935c935 81279972Sadrianhint.arswitch.0.led.ctrl3=0x03ffff00 82279972Sadrianint.arswitch.0.led.open_drain=1 83279972Sadrian 84279972Sadrian# force_link=1 is required for the rest of the parameters 85279972Sadrian# to be configured. 86279972Sadrianhint.arswitch.0.port.0.force_link=1 87279972Sadrianhint.arswitch.0.port.0.speed=1000 88279972Sadrianhint.arswitch.0.port.0.duplex=1 89279972Sadrianhint.arswitch.0.port.0.txpause=1 90279972Sadrianhint.arswitch.0.port.0.rxpause=1 91279972Sadrian 92279972Sadrian# force_link=1 is required for the rest of the parameters 93279972Sadrian# to be configured. 94279972Sadrianhint.arswitch.0.port.6.force_link=1 95279972Sadrianhint.arswitch.0.port.6.speed=1000 96279972Sadrianhint.arswitch.0.port.6.duplex=1 97279972Sadrianhint.arswitch.0.port.6.txpause=1 98279972Sadrianhint.arswitch.0.port.6.rxpause=1 99279972Sadrian 100279972Sadrian# arge0 - hooked up to AR8327 GMAC6, RGMII 101279972Sadrian# set at 1000/full to the switch. 102279972Sadrian# so, lock both sides of this connect up to 1000/full; 103279972Sadrian# if_arge thus wont change the PLL configuration 104279972Sadrian# upon a link status change. 105279972Sadrianhint.arge.0.phymask=0x0 106279972Sadrianhint.arge.0.miimode=3 # RGMII 107279972Sadrianhint.arge.0.media=1000 108279972Sadrianhint.arge.0.fduplex=1 109279972Sadrianhint.arge.0.pll_1000=0x56000000 110279972Sadrian 111279972Sadrian# arge1 - lock up to 1000/full 112279972Sadrianhint.arge.1.phymask=0x0 113279972Sadrianhint.arge.1.media=1000 114279972Sadrianhint.arge.1.fduplex=1 115279972Sadrianhint.arge.1.miimode=5 # SGMII 116279972Sadrianhint.arge.1.pll_1000=0x03000101 117279972Sadrian 118279972Sadrian# hint.arge.1.eeprommac=0x1f01fc06 119279972Sadrian 120279972Sadrian# ath0: Where the ART is - last 64k in the flash 121279972Sadrianhint.ath.0.eepromaddr=0x1fff0000 122279972Sadrianhint.ath.0.eepromsize=16384 123279972Sadrian 124279972Sadrian# 128 KiB u-boot 125279972Sadrianhint.map.0.at="flash/spi0" 126279972Sadrianhint.map.0.start=0x00000000 127279972Sadrianhint.map.0.end=0x00020000 # 128k u-boot 128279972Sadrianhint.map.0.name="u-boot" 129279972Sadrianhint.map.0.readonly=1 130279972Sadrian 131279972Sadrian# The TP-Link firmware will put the kernel first (variable size); 132279972Sadrian# then the rootfs will be placed hopefully at a 64KiB alignment 133279972Sadrian# by whatever calls mktplinkfw. 134279972Sadrian 135279972Sadrianhint.map.1.at="flash/spi0" 136279972Sadrianhint.map.1.start=0x00020000 137279972Sadrianhint.map.1.end="search:0x00020000:0x10000:.!/bin/sh" 138279972Sadrianhint.map.1.name="kernel" 139279972Sadrianhint.map.1.readonly=1 140279972Sadrian 141279972Sadrianhint.map.2.at="flash/spi0" 142279972Sadrianhint.map.2.start="search:0x00020000:0x10000:.!/bin/sh" 143279972Sadrianhint.map.2.end=0x007d0000 144279972Sadrianhint.map.2.name="rootfs" 145279972Sadrianhint.map.2.readonly=1 146279972Sadrian 147279972Sadrian# 64KiB cfg 148279972Sadrianhint.map.3.at="flash/spi0" 149279972Sadrianhint.map.3.start=0x007d0000 150279972Sadrianhint.map.3.end=0x007e0000 151279972Sadrianhint.map.3.name="cfg" 152279972Sadrianhint.map.3.readonly=0 153279972Sadrian 154279972Sadrian# 64KiB mib0 155279972Sadrianhint.map.4.at="flash/spi0" 156279972Sadrianhint.map.4.start=0x007e0000 157279972Sadrianhint.map.4.end=0x007f0000 158279972Sadrianhint.map.4.name="mib0" 159279972Sadrianhint.map.4.readonly=1 160279972Sadrian 161279972Sadrian# 64KiB ART 162279972Sadrianhint.map.5.at="flash/spi0" 163279972Sadrianhint.map.5.start=0x007f0000 164279972Sadrianhint.map.5.end=0x00800000 # 64k ART 165279972Sadrianhint.map.5.name="ART" 166279972Sadrianhint.map.5.readonly=1 167