1272206Ssbruno# 2272206Ssbruno# This file adds to the values in AR933X_BASE.hints 3272206Ssbruno# 4272206Ssbruno# $FreeBSD$ 5272206Ssbruno 6272206Ssbruno# mdiobus on arge1 7272206Ssbrunohint.argemdio.0.at="nexus0" 8272206Ssbrunohint.argemdio.0.maddr=0x1a000000 9272206Ssbrunohint.argemdio.0.msize=0x1000 10272206Ssbrunohint.argemdio.0.order=0 11289147Ssbruno 12272206Ssbruno# There's no need to set the ar933x GMAC configuration bits. 13272206Ssbruno# This just creates a switch instance and correctly uses it. 14272206Ssbruno 15272206Ssbruno# Embedded Atheros Switch 16272206Ssbrunohint.arswitch.0.at="mdio0" 17272206Ssbruno 18272206Ssbruno# XXX this should really say it's an AR933x switch, as there 19272206Ssbruno# are some vlan specific differences here! 20272206Ssbrunohint.arswitch.0.is_7240=1 21272206Ssbrunohint.arswitch.0.numphys=4 22272206Ssbrunohint.arswitch.0.phy4cpu=1 # phy 4 is a "CPU" separate PHY 23272206Ssbrunohint.arswitch.0.is_rgmii=0 24272206Ssbrunohint.arswitch.0.is_gmii=1 # arge1 <-> switch PHY is GMII 25272206Ssbruno 26272206Ssbruno# arge0 - MII, autoneg, phy(4) 27272206Ssbrunohint.arge.0.phymask=0x10 # PHY4 28272206Ssbrunohint.arge.0.mdio=mdioproxy1 # .. off of the switch mdiobus 29289482Ssbrunohint.arge.0.eeprommac=0x1fff0000 30272206Ssbruno 31272206Ssbruno# arge1 - GMII, 1000/full 32272206Ssbrunohint.arge.1.phymask=0x0 # No directly mapped PHYs 33272206Ssbrunohint.arge.1.media=1000 34272206Ssbrunohint.arge.1.fduplex=1 35289482Ssbrunohint.arge.1.eeprommac=0x1fff0006 36272206Ssbruno 37272206Ssbruno# Where the ART is - last 64k in the flash 38272206Ssbruno# 0x9fff1000 ? 39289482Ssbrunohint.ath.0.eepromaddr=0x1fff0000 40272206Ssbrunohint.ath.0.eepromsize=16384 41272206Ssbruno 42289147Ssbruno# The board 4MiB flash layout in uboot env: 43272206Ssbruno# 44272206Ssbruno# 256k(u-boot),64k(u-boot-env),2752k(rootfs),896k(uImage),64k(NVRAM),64k(ART) 45272206Ssbruno 46272206Ssbruno# However, it boots from 0x9f050000, which is the front of the flsah! 47272206Ssbruno# Thus the kernel/rootfs are switched around. 48272206Ssbruno 49272206Ssbruno# 256KB 50272206Ssbrunohint.map.0.at="flash/spi0" 51272206Ssbrunohint.map.0.start=0x00000000 52272206Ssbrunohint.map.0.end=0x00040000 53272206Ssbrunohint.map.0.name="uboot" 54272206Ssbrunohint.map.0.readonly=1 55272206Ssbruno 56272206Ssbruno# 64KB 57272206Ssbrunohint.map.1.at="flash/spi0" 58272206Ssbrunohint.map.1.start=0x00040000 59272206Ssbrunohint.map.1.end=0x00050000 60272206Ssbrunohint.map.1.name="uboot-env" 61289147Ssbrunohint.map.1.readonly=1 62272206Ssbruno 63289147Ssbruno# 3648KB 64272206Ssbrunohint.map.2.at="flash/spi0" 65272206Ssbrunohint.map.2.start=0x00050000 66289147Ssbrunohint.map.2.end=0x003e0000 67272206Ssbrunohint.map.2.name="kernel" 68289147Ssbrunohint.map.2.readonly=1 69272206Ssbruno 70289147Ssbruno# 64K NVRAM 71272206Ssbrunohint.map.3.at="flash/spi0" 72289147Ssbrunohint.map.3.start=0x003e0000 73289147Ssbrunohint.map.3.end=0x003f0000 74289147Ssbrunohint.map.3.name="cfg" 75272206Ssbrunohint.map.3.readonly=0 76272206Ssbruno 77289147Ssbruno# 64K ART 78272206Ssbrunohint.map.4.at="flash/spi0" 79289147Ssbrunohint.map.4.start=0x003f0000 80289147Ssbrunohint.map.4.end=0x00400000 81289147Ssbrunohint.map.4.name="art" 82289147Ssbrunohint.map.4.readonly=1 83272206Ssbruno 84272206Ssbruno# GPIO specific configuration block 85272206Ssbruno 86272206Ssbruno# Don't flip on anything that isn't already enabled. 87272206Ssbruno# This includes leaving the SPI CS1/CS2 pins as GPIO pins as they're 88272206Ssbruno# not used here. 89272206Ssbrunohint.gpio.0.function_set=0x00000000 90272206Ssbrunohint.gpio.0.function_clear=0x00000000 91272206Ssbruno 92272206Ssbruno# These are the GPIO LEDs and buttons which can be software controlled. 93272206Ssbruno#hint.gpio.0.pinmask=0x001c02ae 94272206Ssbruno#hint.gpio.0.pinmask=0x00001803 95272206Ssbruno 96272206Ssbruno# XXX TODO: the button and LEDs! 97