1220295Sadrian#
2220295Sadrian# This file adds to the values in AR91XX_BASE.hints.
3220295Sadrian#
4220295Sadrian# $FreeBSD$
5220295Sadrian
6220295Sadrian# Hard-code the PHY for now, until there's switch phy support.
7234945Sadrian# hint.arge.0.phymask=0x000c
8234945Sadrianhint.arge.0.phymask=0x0000
9220295Sadrianhint.arge.0.media=1000
10220295Sadrianhint.arge.0.fduplex=1
11220295Sadrian# Where is the MAC address stored in flash for this particular unit.
12220295Sadrianhint.arge.0.eeprommac=0x1f01fc00
13220295Sadrian
14220295Sadrian# This isn't used, but configure it anyway.
15220295Sadrian# This should eventually just not be configured, but the if then
16220295Sadrian# needs to be properly disabled or spurious interrupts occur.
17220295Sadrianhint.arge.1.phymask=0x0
18220295Sadrian
19220295Sadrian# Where the ART is
20220295Sadrianhint.ath.0.eepromaddr=0x1fff1000
21227921Sadrian
22227921Sadrian#
23227921Sadrian# Define a slightly custom flash layout.
24227921Sadrian
25227921Sadrian# The default flash layout:
26227921Sadrian#
27227921Sadrian# 128k: uboot
28227921Sadrian# 1024k: kernel
29227921Sadrian# 4096k: rootfs
30227926Sadrian# 2816: unknown
31227926Sadrian# 64k: board config?
32227921Sadrian# 64k: ART
33227921Sadrian#
34227921Sadrian# from printenv:
35227921Sadrian# bootargs=console=ttyS0,115200 root=31:02 rootfstype=jffs2 init=/sbin/init
36227921Sadrian#    mtdparts=ar9100-nor0:128k(u-boot),1024k(kernel),4096k(rootfs),64k(art)
37227921Sadrian
38227921Sadrian# This isn't a lot of space!
39227921Sadrian# So:
40227921Sadrian# 128k: uboot
41227921Sadrian# 2048k: kernel
42227938Sadrian# 5888k: rootfs
43227926Sadrian# 64k: config
44227921Sadrian# 64k: ART
45227921Sadrian
46227921Sadrianhint.map.0.at="flash/spi0"
47227921Sadrianhint.map.0.start=0x00000000
48227921Sadrianhint.map.0.end=0x000200000
49227921Sadrianhint.map.0.name="uboot"
50227921Sadrianhint.map.0.readonly=1
51227921Sadrian
52227921Sadrianhint.map.1.at="flash/spi0"
53227921Sadrianhint.map.1.start=0x00020000
54227921Sadrianhint.map.1.end=0x00220000
55227921Sadrianhint.map.1.name="kernel"
56227921Sadrianhint.map.1.readonly=1
57227921Sadrian
58227921Sadrianhint.map.2.at="flash/spi0"
59227921Sadrianhint.map.2.start=0x00220000
60227938Sadrianhint.map.2.end=0x007e0000
61227921Sadrianhint.map.2.name="rootfs"
62227921Sadrianhint.map.2.readonly=1
63227921Sadrian
64227926Sadrianhint.map.3.at="flash/spi0"
65227938Sadrianhint.map.3.start=0x007e0000
66227938Sadrianhint.map.3.end=0x007f0000
67227926Sadrianhint.map.3.name="cfg"
68227926Sadrianhint.map.3.readonly=0
69227921Sadrian
70227926Sadrian# This is radio calibration section.  It is (or should be!) unique
71227926Sadrian# for each board, to take into account thermal and electrical differences
72227926Sadrian# as well as the regulatory compliance data.
73227926Sadrian#
74227938Sadrianhint.map.4.at="flash/spi0"
75227938Sadrianhint.map.4.start=0x007f0000
76227938Sadrianhint.map.4.end=0x00800000
77227938Sadrianhint.map.4.name="art"
78227938Sadrianhint.map.4.readonly=1
79228519Sadrian
80228519Sadrian# GPIO specific configuration block
81228519Sadrian
82228519Sadrian# Don't flip on anything that isn't already enabled.
83228519Sadrian# This includes leaving the SPI CS1/CS2 pins as GPIO pins as they're
84228519Sadrian# not used here.
85235345Sadrianhint.gpio.0.function_set=0x00002000
86228519Sadrianhint.gpio.0.function_clear=0x00000000
87228519Sadrian
88228519Sadrian# These are the GPIO LEDs and buttons which can be software controlled.
89228519Sadrianhint.gpio.0.pinmask=0x001c02ae
90228519Sadrian
91228519Sadrian# pin 1 - USB (LED)
92228519Sadrian# pin 2 - System (LED)
93228519Sadrian# Pin 3 - Reset (input)
94228519Sadrian# Pin 5 - QSS (LED)
95228519Sadrian# Pin 7 - QSS Button (input)
96228519Sadrian# Pin 8 - wired into the chip reset line
97228519Sadrian# Pin 9 - WLAN
98228519Sadrian# Pin 10 - UART TX (not GPIO)
99228519Sadrian# Pin 13 - UART RX (not GPIO)
100228519Sadrian# Pin 18 - RTL8366RB switch data line
101228519Sadrian# Pin 19 - RTL8366RB switch clock line
102228519Sadrian# Pin 20 - "GPIO20"
103228519Sadrian
104228519Sadrian# LEDs are configured separately and driven by the LED device
105235345Sadrian#hint.gpioled.0.at="gpiobus0"
106235345Sadrian#hint.gpioled.0.name="usb"
107235345Sadrian#hint.gpioled.0.pins=0x0002
108228519Sadrian
109228519Sadrianhint.gpioled.1.at="gpiobus0"
110228519Sadrianhint.gpioled.1.name="system"
111228519Sadrianhint.gpioled.1.pins=0x0004
112228519Sadrian
113228519Sadrianhint.gpioled.2.at="gpiobus0"
114228519Sadrianhint.gpioled.2.name="qss"
115228519Sadrianhint.gpioled.2.pins=0x0020
116228519Sadrian
117228519Sadrianhint.gpioled.3.at="gpiobus0"
118228519Sadrianhint.gpioled.3.name="wlan"
119228519Sadrianhint.gpioled.3.pins=0x0200
120235345Sadrian
121235345Sadrian# GPIO I2C bus
122235345Sadrianhint.gpioiic.0.at="gpiobus0"
123235345Sadrianhint.gpioiic.0.pins=0xc0000
124235345Sadrianhint.gpioiic.0.scl=1
125235345Sadrianhint.gpioiic.0.sda=0
126235345Sadrian
127235345Sadrian# I2C bus
128235345Sadrian# Don't be strict about I2C protocol - the relaxed semantics are required
129235345Sadrian# by the realtek switch PHY.
130235345Sadrianhint.iicbus.0.strict=0
131235345Sadrian
132235345Sadrian# Bit bang bus - override default delay
133235345Sadrian#hint.iicbb.0.udelay=3
134