1239765Sadrian# $FreeBSD$
2239765Sadrian
3239765Sadrian# arge0 is connected to the LAN side of the switch PHY.
4239765Sadrian# arge1 is connected to the single port WAN side of the switch PHY.
5239765Sadrian
6239765Sadrianhint.arge.0.phymask=0x0
7239765Sadrianhint.arge.0.media=1000
8239765Sadrianhint.arge.0.fduplex=1
9254690Ssbrunohint.arge.0.eeprommac=0x1f66ffa0
10254690Ssbrunohint.arge.0.readascii=1
11239765Sadrian
12239765Sadrianhint.arge.1.phymask=0x0
13239765Sadrianhint.arge.1.media=1000
14239765Sadrianhint.arge.1.fduplex=1
15254690Ssbrunohint.arge.1.eeprommac=0x1f66ffb4
16254690Ssbrunohint.arge.1.readascii=1
17239765Sadrian
18239765Sadrian# ath0 - slot 17
19253844Ssbrunohint.pcib.0.bus.0.17.0.ath_fixup_addr=0x1f661000
20239765Sadrianhint.pcib.0.bus.0.17.0.ath_fixup_size=4096
21239765Sadrian
22239765Sadrian# ath1 - slot 18
23253844Ssbrunohint.pcib.0.bus.0.18.0.ath_fixup_addr=0x1f665000
24239765Sadrianhint.pcib.0.bus.0.18.0.ath_fixup_size=4096
25239765Sadrian
26239765Sadrian# .. and now, telling each ath(4) NIC where to find the firmware
27239765Sadrian# image.
28239765Sadrianhint.ath.0.eeprom_firmware="pcib.0.bus.0.17.0.eeprom_firmware"
29239765Sadrianhint.ath.1.eeprom_firmware="pcib.0.bus.0.18.0.eeprom_firmware"
30239765Sadrian
31239765Sadrian# Geom MAP
32239765Sadrian
33262777Ssbruno# The DIR-825B1 has an 8MB flash part - HOWEVER, the 64k caldata isn't
34239911Sadrian# at the end of the flash. It's ~ 6MB into the flash image.
35239911Sadrian
36262778Ssbruno# mtdparts=ar7100-nor0:256k(uboot),64k(Config),1024k(vmlinux),5184k(rootfs),
37262778Ssbruno#          64k(caldata)
38239765Sadrian
39239765Sadrianhint.map.0.at="flash/spi0"
40239765Sadrianhint.map.0.start=0x00000000
41239765Sadrianhint.map.0.end=0x000040000
42239765Sadrianhint.map.0.name="uboot"
43239765Sadrianhint.map.0.readonly=1
44239765Sadrian
45239765Sadrian# This config partition is the D-Link specific configuration area.
46239765Sadrian# I'm re-purposing it for FreeBSD.
47239765Sadrianhint.map.1.at="flash/spi0"
48239765Sadrianhint.map.1.start=0x00040000
49239765Sadrianhint.map.1.end=0x00050000
50239765Sadrianhint.map.1.name="cfg"
51239768Sadrianhint.map.1.readonly=0
52239765Sadrian
53239765Sadrianhint.map.2.at="flash/spi0"
54239765Sadrianhint.map.2.start=0x0050000
55280319Sadrianhint.map.2.end="search:0x00050000:0x10000:.!/bin/sh"
56239765Sadrianhint.map.2.name="kernel"
57239765Sadrianhint.map.2.readonly=1
58239765Sadrian
59239765Sadrianhint.map.3.at="flash/spi0"
60280319Sadrianhint.map.3.start="search:0x00050000:0x10000:.!/bin/sh"
61239911Sadrianhint.map.3.end=0x00660000
62239765Sadrianhint.map.3.name="rootfs"
63239765Sadrianhint.map.3.readonly=0
64239765Sadrian
65239765Sadrianhint.map.4.at="flash/spi0"
66239911Sadrianhint.map.4.start=0x00660000
67239911Sadrianhint.map.4.end=0x00670000
68239765Sadrianhint.map.4.name="art"
69239765Sadrianhint.map.4.readonly=1
70239765Sadrian
71262778Ssbruno# GPIO specific configuration block
72262778Ssbruno
73262778Ssbruno# Don't flip on anything that isn't already enabled.
74262778Ssbruno# This includes leaving the SPI CS1/CS2 pins as GPIO pins as they're
75262778Ssbruno# not used here.
76262778Ssbrunohint.gpio.0.function_set=0x00000000
77262778Ssbruno
78262778Ssbrunohint.gpio.0.function_clear=0x00000000
79262778Ssbruno
80262778Ssbruno# These are the GPIO LEDs and buttons which can be software controlled.
81262778Ssbrunohint.gpio.0.pinmask=0x000009ff
82262778Ssbruno
83262778Ssbruno# Pin 1  - USB (LED blue)     --> works
84262778Ssbruno# Pin 2  - Power (LED orange) --> works
85262778Ssbruno# Pin 3  - Power (LED blue)   --> works
86262778Ssbruno# Pin 4  - Button (RESET)     --> works
87262778Ssbruno# Pin 5  - WPS (LED blue)     --> works
88262778Ssbruno# Pin 6  - RTL8366RB switch data line
89262778Ssbruno# Pin 7  - Planet (LED orange)--> works
90262778Ssbruno# Pin 8  - RTL8366RB switch clock line
91262778Ssbruno# Pin 9  - Button (WPS)       --> works after set to high
92262778Ssbruno# Pin 10 - N/C
93262778Ssbruno# Pin 11 - N/C
94262778Ssbruno# Pin 12 - Planet (LED blue)  --> works
95262778Ssbruno
96262778Ssbruno# LEDs are configured separately and driven by the LED device
97262778Ssbruno# usb tested good
98262778Ssbrunohint.gpioled.0.at="gpiobus0"
99262778Ssbrunohint.gpioled.0.name="usb-blue"
100262778Ssbrunohint.gpioled.0.pins=0x0001
101262778Ssbruno
102262778Ssbruno# no orange power led?
103262778Ssbrunohint.gpioled.1.at="gpiobus0"
104262778Ssbrunohint.gpioled.1.name="power-orange"
105262778Ssbrunohint.gpioled.1.pins=0x0002
106262778Ssbruno
107262778Ssbruno# blue power tested good
108262778Ssbrunohint.gpioled.2.at="gpiobus0"
109262778Ssbrunohint.gpioled.2.name="power-blue"
110262778Ssbrunohint.gpioled.2.pins=0x0004
111262778Ssbruno
112262778Ssbruno# wps tested good
113262778Ssbrunohint.gpioled.3.at="gpiobus0"
114262778Ssbrunohint.gpioled.3.name="wps-blue"
115262778Ssbrunohint.gpioled.3.pins=0x0010
116262778Ssbruno
117262778Ssbruno# orage globe tested good
118262778Ssbrunohint.gpioled.4.at="gpiobus0"
119262778Ssbrunohint.gpioled.4.name="planet-orange"
120262778Ssbrunohint.gpioled.4.pins=0x0040
121262778Ssbruno
122262778Ssbruno# no blue planet LED on this unit
123262778Ssbrunohint.gpioled.5.at="gpiobus0"
124262778Ssbrunohint.gpioled.5.name="planet-blue"
125262778Ssbrunohint.gpioled.5.pins=0x0800
126262778Ssbruno
127262778Ssbruno# GPIO I2C bus
128262778Ssbrunohint.gpioiic.0.at="gpiobus0"
129262778Ssbrunohint.gpioiic.0.pins=0x00a0
130262778Ssbrunohint.gpioiic.0.sda=0
131262778Ssbrunohint.gpioiic.0.scl=1
132262778Ssbruno
133262778Ssbruno# I2C bus
134262778Ssbruno# Don't be strict about I2C protocol - the relaxed semantics are required
135262778Ssbruno# by the realtek switch PHY.
136262778Ssbrunohint.iicbus.0.strict=0
137262778Ssbruno
138262778Ssbruno# Bit bang bus - override default delay
139262778Ssbruno#hint.iicbb.0.udelay=3
140262778Ssbruno
141