Commit Graph

385 Commits

Author SHA1 Message Date
Adrian Chadd
442cfe16f1 re-enable building modules for the AR933x
* add ipfw
* delete ath / ath_ahb for now, until I can have Warner beat me
  with the clue stick about putting in conditional build things into
  the ath Makefile so the module builds can just have the HAL bits
  that are relevant for a particular target.
2015-03-21 23:39:34 +00:00
Adrian Chadd
771df80a72 Fix the LED configuration so the switch PHY LEDs work fine.
Tested:

* TP-Link TL-WDR3600; yes, by testing all five ethernet ports.

Obtained from:	Linux OpenWRT
2015-03-21 06:44:41 +00:00
Adrian Chadd
5daec26c5c Migrate these configs to use the geom map search function.
Now that the search function reliably works, this allows for
smaller images.
2015-03-21 06:18:25 +00:00
Adrian Chadd
d9b9920b70 Add support for the TP-Link TL-WDR4300 and TL-WDR3600.
These are actually almost the same units; except one is 3x3 5GHz, and
one is 2x2 5GHz.

Tested:

* TP-Link TL-WDR3600

TODO:

* The ath0/ath1 MAC addresses are ye garbage (00:02:03:04:05:06); fixing
  that will take a little more time.  It works fine with the ath0/ath1
  MAC addresses set manually.

* Go through and yank the AR9344 on-board switch config (arswitch1);
  it's not required here for this AP.
2015-03-21 06:16:23 +00:00
Adrian Chadd
0137d8b46e Re-enable the modules for now; I'm using them in some other test builds. 2015-03-21 06:13:30 +00:00
Adrian Chadd
9182d53e8c Now that the switch PHY fully works, don't limit arge0 to only being up
if the WAN port is up.

This way I can use it for arbitrary ports/vlans.
2015-03-21 06:12:46 +00:00
Jack F Vogel
1aa7c60ccd Correct the ixgbe entries in mips and powerpc, and add the module
entries in i386/amd64 in the Makefile
2015-03-18 16:54:03 +00:00
Adrian Chadd
af1357897d Compile some modules - I'm going to eventually just compile all the
modules, but these are a subset of things that are worth playing with
in deployed APs.

(ipfw in particular is rather nice.)
2015-03-14 08:29:03 +00:00
Adrian Chadd
22aeed02bf Add board support for the TP-Link TL-WR1043nd v2.
This is a QCA9558 based design with on-chip 2GHz 3x3 11n wifi,
AR8327N switch, 64MB RAM and 8MB flash.

Of course, it runs FreeBSD.
2015-03-14 07:59:54 +00:00
Adrian Chadd
6ee7c13baf Now that if_arge.c handles actual 'locked' media settings, enable
the WAN port to look like it has its own PHY on PHY4 (port5).
2015-03-08 22:07:32 +00:00
Adrian Chadd
1d556f272c Fix both arge0 and arge1 to work correctly on the AP135.
* Force the arge0 interface to not use a PHY for speed negotiation
  for now.  It'd be nice to do it, but right now the RGMII interface
  to the switch needs to stay at 1000/full in order to match what
  the switch side of the port is programmed as.

  So until that's all sorted out, disconnect arge0 from the PHY
  and leave it at fixed at 1000/full.

  I noticed this when I tried using a busted ethernet cable that
  forced the PHY to negotiate 100/full.  The switch was fine and
  it negotiated to 100/full, but then arge0 saw the link update
  and set the speed to 100/full when the switch side of that
  hook up was set to 1000/full.  Tsk.

* When using argemdio, the mdio device resets and initialises
  the MAC, /not/ the arge_attach (or, as I discovered, arge_init.)
  So arge1 wasn't being fully initialised and thus no traffic
  would ever flow.

  So until I tidy up that mess, just create an argemdio bus for
  arge1.  It's totally fine; it won't do anything or find anything
  attached to it.

Tested:

* AP135 reference board - both arge0 and arge1 now work.
2015-03-04 03:48:11 +00:00
Adrian Chadd
5a82135bc2 Add support for the AP135 2.0 reference platform.
This is a QCA9558 SoC (2ghz 3x3) with an atheros 11ac PCIe 5GHz 3x3
NIC and an AR8327 gigabit ethernet switch.

TODO:

* The AR8327 gigabit switch support bugfixes are forthcoming.
* 11ac support and 11ac NIC support
2015-03-02 02:27:25 +00:00
Adrian Chadd
fb76025135 Bring over the initial QCA955x SoC support framework.
This is enough to bring up the basic SoC support.

What works thus far:

* The mips74k core, pll setup, and UART (or else well, stuff would
  be really difficult..)
* both USB 2.0 EHCI controllers
* on-board 2GHz 3x3 wifi (the other variant has 2GHz/5GHz wifi on-chip);
* arge0 - not yet sure why arge1 isn't firing off interrupts and thus
  handling traffic, but I will soon figure it out and fix it here.

Tested:

* AP135 reference design, QCA9558 SoC, pretending to be an 11n
  2GHz AP.

TODO:

* There's an interrupt mux hooking up devices to IP2 and IP3 - but it's
  not a read-and-clear or write-to-clear register.  So, trying to use it
  naively like I have been ends up with massive interrupt storms.
  For now the things that share those interrupts can just take them as
  shared interrupts and try to play nice.

* There's two PCIe root complexes /and/ one of them can actually be
  a PCIe device endpoint.  Yes, you heard right.  I have to teach the
  AR724x PCIe bridge code to handle multiple instances with multiple
  memory/irq regions, and then there'll be RC support, but EP support
  isn't on my TODO list.

* I'm not sure why arge1 isn't up and running.  I'll go figure that
  out soon and fix it here.

Thankyou to Qualcomm Atheros for providing me with hardware and
an abundance of documentation about these things.
2015-03-02 02:24:46 +00:00
Adrian Chadd
0332e7d4d6 Remove this - I made it all work again a looong time ago. 2015-02-16 02:05:34 +00:00
Bjoern A. Zeeb
ff688a8694 Move MALTA_COMMON to std.MALTA (as we have for XLP and SWARM).
This avoids universe trying to build MALTA_COMMON and fail due to
the problem addressed in r276773.
Include std.MALTA from the MALTA mipsel and MALTA64 mips64el config files,
where the machine lines exist.
2015-01-07 12:12:36 +00:00
Bjoern A. Zeeb
d5edbbc623 Remove the machine directive from the common MALTA* configuration file
to avoid conflicting machine lines for the MALTA64 kernel configuration
making config(8) go barf and builds to fail.

Pointed out by:	adrian
2015-01-07 01:41:45 +00:00
John Baldwin
3e32dff52c Remove "New" label from NFSCL/NFSD now that they are the only NFS
client/server.  While here, remove duplicate NFSCL from sys/conf/NOTES.

Approved by:	rmacklem
2015-01-06 16:15:57 +00:00
Adrian Chadd
87a2f105ee Make the apb.c code optional behind ar71xx_apb rather than standard.
The QCA955x has more mux interrupts going on - and the AR934x actually does,
but I cheated and assigned wlan and pcie to the same interrupt line.
They are, there's just a status register mux that I should've been using.

Luckily this isn't too bad a change in itself - almost all of the
Atheros MIPS configurations use a _BASE file to inherit from.
Except PB92, which I should really fix up at some point.

The AR934x will use the legacy apb for now until I write its replacement.

The QCA955x SoC I'm doing bring-up on will have a separate qca955x_apb.c
implementation that includes hooking into IP2/IP3 and doing further
interrupt demuxing as appropriate.
2015-01-06 07:43:07 +00:00
Craig Rodrigues
a3f9f9a5a8 Add some GEOM options. 2015-01-06 05:28:22 +00:00
Craig Rodrigues
0db7f806be Refactor common options from MALTA and MALTA64 kernel
configs into MALTA_COMMON file.
2015-01-06 05:26:13 +00:00
Adrian Chadd
a785304fb2 For now build random into the kernel - there seems to be issues kldload'ing
it at early boot.
2015-01-03 02:39:28 +00:00
Adrian Chadd
3ad9ac1357 The kernel has gotten too big; trim out MSDOSFS for the DIR825B1. 2015-01-03 02:34:23 +00:00
Ruslan Bukin
49506d6809 Add configuration files for BERI soft-core synthesized on
Terasic SoCKit board (Altera FPGA).

Use virtio block as root filesystem device.

Sponsored by:	DARPA, AFRL
2014-12-17 11:36:31 +00:00
Sean Bruno
040bcc9ac0 Switch is an 8316, so make the comments say that.
Delete extraneous comment line that manifested itself from cut-n-pasting.

Sponsored by:	Nicholas Esborn <nick@desert.net>
2014-12-03 23:37:23 +00:00
Sean Bruno
258c6e3d7a There is only one argemdio device on this board.
Sponsored by:	Nicholas Esborn <nick@desert.net>
2014-12-03 19:41:49 +00:00
Sean Bruno
3bfb0fa7e9 Assign argemdio0 to the correct base address and assign argemdio1 to its
proper place *after* argemdio0

Correctly place arge0 and arge1 on their respective bus positions.

Sponsored by:	Nicholas Esborn <nick@desert.net>
2014-12-03 18:08:39 +00:00
Sean Bruno
82e843b93b Add support for Buffalo WZR-HP-AG300H atheros MIPS router.
Special thanks to Nicholas Esborn for the loaner router to get this
target bootstrapped.

Review:  D777
Reviewed by:    adrian
Sponsored by:   Nicholas Esborn <nick@desert.net>
2014-11-25 17:33:22 +00:00
Brooks Davis
a9332fb303 Merge from CheriBSD:
commit 6d3c4c0922
    Add terasic_mtl vt(4) framebuffer driver

    terasic_mtl can be built with syscons(4) and vt(4) attachments, selected
    at compile time.

commit 33240259b4
    Clear terasic_mtl text buffer on attach

commit d188c2d241
    Update terasic vt(4) driver for FreeBSD r269783

commit d1cc54eee8
    Safety belt to ensure vt(4) fb parameters are correct

commit 76e6d468ef
    Improve terasic_mtl_vt fdt parsing

    - Use OF_getencprop to avoid need for explicit endian handling
      (submitted by ray@freebsd.org)
    - Check for expected length and correct pointer type

commit 3e2524b899
    Correct device_printf usage

commit 9e53e3c8e0
    Switch framebuffer to match host endianness

    Xorg and xf86-video-scfb work much better with a native-endian
    framebuffer.

commit 0f49259d59
    Switch DE4 to vt(4) and enable kbdmux

commit 5bc96ebc89
    Add missing \n in device_printf calls

Submitted by:	emaste
Sponsored by:	DARPA, AFRL
2014-11-21 21:34:19 +00:00
Adrian Chadd
7bfcb6f698 * Add a random device
* Use the same rootdev path as MALTA, so the same emulator setups
  can be used with minimal fuss.
2014-11-20 05:54:29 +00:00
Adrian Chadd
6b5b4bfa80 Include a random device. 2014-11-20 05:52:48 +00:00
Alexander V. Chernikov
603eaf792b Renove faith(4) and faithd(8) from base. It looks like industry
have chosen different (and more traditional) stateless/statuful
NAT64 as translation mechanism. Last non-trivial commits to both
faith(4) and faithd(8) happened more than 12 years ago, so I assume
it is time to drop RFC3142 in FreeBSD.

No objections from:	net@
2014-11-09 21:33:01 +00:00
Hiren Panchasara
fea8015ddb Use search method instead of fixed offsets for finding rootfs. This unbreaks
recent images for picostation by allowing to find rootfs at correct location.

Suggested by: loos
MFC after:	1 month
2014-10-30 23:47:28 +00:00
Bjoern A. Zeeb
4490a86891 Disable the makeoption with MFS_IMAGE= set as we don't ship that file
and it thus breaks the default build.   You can still use various other
ways (tools) to embedd the image after the kernel build.
2014-09-27 17:11:51 +00:00
Sean Bruno
137bf249f3 Add kernel support for the TP-LINK MR3020 Atheros MIPS 24k router.
AR9331 based system.

Phabric:	https://reviews.freebsd.org/D780
Reviewed by:	adrian
2014-09-27 08:59:43 +00:00
Sean Bruno
082afa63f6 Remove redundant kern conf entries that are inherited via include
Move cfg to spi1 as that's where it is located from the factory
2014-09-07 20:27:48 +00:00
Bjoern A. Zeeb
62820660cc Introduce opt_netfpga.h and allow setting NF10BMAC_64BIT from mips kernel
configs.  Switch the BERI_NETFPGA_MDROOT to 64bit by default.

Give we have working interrupts also cleanup the extra polling CFLAGS from
the module Makefile.

MFC after:	2 weeks
2014-06-26 17:20:45 +00:00
Hans Petter Selasky
0b4dc07df8 Hook the ISP/SAF1761 driver into MIPS kernel builds.
- Update FDT file for BERI DE4 boards.
- Add needed kernel configuration keywords.
- Rename module to saf1761otg so that the device unit number does not
interfere with the hardware ID in dmesg.

Sponsored by:	DARPA, AFRL
2014-05-29 10:46:09 +00:00
Sean Bruno
44681eacf6 Remove duplicate:
option		AH_DEBUG_ALQ
2014-05-21 21:30:00 +00:00
Adrian Chadd
b2bdb24900 Let's just use the mib0 partition for our configurations pace. It's
a convenient thing.

tested:

* AP93
2014-05-19 19:34:44 +00:00
Kenneth D. Merry
991554f2c4 Bring in the mpr(4) driver for LSI's MPT3 12Gb SAS controllers.
This is derived from the mps(4) driver, but it supports only the 12Gb
IT and IR hardware including the SAS 3004, SAS 3008 and SAS 3108.

Some notes about this driver:
 o The 12Gb hardware can do "FastPath" I/O, and that capability is included in
   this driver.

 o WarpDrive functionality has been removed, since it isn't supported in
   the 12Gb driver interface.

 o The Scatter/Gather list handling code is significantly different between
   the 6Gb and 12Gb hardware.  The 12Gb boards support IEEE Scatter/Gather
   lists.

Thanks to LSI for developing and testing this driver for FreeBSD.

share/man/man4/mpr.4:
	mpr(4) man page.

sys/dev/mpr/*:
	mpr(4) driver files.

sys/modules/Makefile,
sys/modules/mpr/Makefile:
	Add a module Makefile for the mpr(4) driver.

sys/conf/files:
	Add the mpr(4) driver.

sys/amd64/conf/GENERIC,
sys/i386/conf/GENERIC,
sys/mips/conf/OCTEON1,
sys/sparc64/conf/GENERIC:
	Add the mpr(4) driver to all config files that currently
	have the mps(4) driver.

sys/ia64/conf/GENERIC:
	Add the mps(4) and mpr(4) drivers to the ia64 GENERIC
	config file.

sys/i386/conf/XEN:
	Exclude the mpr module from building here.

Submitted by:	Steve McConnell <Stephen.McConnell@lsi.com>
MFC after:	3 days
Tested by:	Chris Reeves <chrisr@spectralogic.com>
Sponsored by:	LSI, Spectra Logic
Relnotes:	LSI 12Gb SAS driver mpr(4) added
2014-05-02 20:25:09 +00:00
Bjoern A. Zeeb
4a9af7d53f Add the initial version of if_nf10bmac(4), a driver to support an
NetFPGA-10G Embedded CPU Ethernet Core.

The current version operates on a simple PIO based interface connected
to a NetFPGA-10G port.

To avoid confusion: this driver operates on a CPU running on the FPGA,
e.g. BERI/mips, and is not suited for the PCI host interface.

MFC after:	1 week
Relnotes:	yes
Sponsored by:	DARPA/AFRL
2014-04-17 12:33:26 +00:00
Sean Bruno
b728a04684 Change kernel/rootfs hints to use search patterns instead of absolute
locations.
2014-04-04 15:52:45 +00:00
Sean Bruno
7bc2b22926 Add support for the Dlink DIR-825C1 74k MIPS router based on Atheros
wireless, bridge and CPU.
2014-04-03 20:12:39 +00:00
Bjoern A. Zeeb
da1b85e4b2 For BERI on NetFPGA assume HZ=100 by default.
Remove the uart support in favour of a "jtag-uart" interface imitation
providing a much simpler interface, directly exported to the host,
allowing the toolchain to be shared with BERI on Altera. [1]

Submitted by:	Jong Hun HAN (jong.han cl.cam.ac.uk) [1]
MFC after:	2 weeks
2014-03-22 13:06:32 +00:00
Warner Losh
d4f95c889d In kernel config files, it is supposed to be 'options<space><tab>' not
'options<tab><tab>', per long standing (but recently not so strictly
enforced) convention.
2014-03-18 14:41:18 +00:00
Adrian Chadd
83e19d0588 * Add ethernet MAC configuration from the EEPROM for arge0/arge1
* The AR9344 switch has 5 ports in use, not four.

Tested:

* DB120 reference board
2014-03-16 02:34:33 +00:00
Sean Bruno
e46fb7ab21 Populate the GPIO pins and GPIOLED configs 2014-03-05 04:22:07 +00:00
Sean Bruno
2cf9b4fc66 Update location of hints and name of the kernel we are building. 2014-03-05 04:19:52 +00:00
Sean Bruno
45ecebb962 Rename the Dlink 825 configuration file to indicate that this is for the
mips 24k B1
2014-03-05 04:18:42 +00:00
Adrian Chadd
c25a0a83ca Add the DB120 specific hints for the AR8327.
Tested:

* DB120
2014-02-26 01:32:27 +00:00
Adrian Chadd
2e3fd37d45 Add the AR8327 bits to the DB120 config file.
There's plenty of hints that I haven't yet fleshed out and are hardcoded
in arswitch_8327.c.  They're listed here (from OpenWRT) for completeness.

This is enough to get the thing up, running and pinging.

Note that the mdiobus for the on-switch switch changes - the AR8327
probes first, which exposes mdio1, and thus the arge1 mdiobus will probe
and attach as mdio2.  That is what the AR9344 on-chip switch has to
attach to.

Tested:

* Qualcomm Atheros DB120
2014-02-24 04:48:46 +00:00
Christian Brueffer
7f47cbd3ce Retire the nve(4) driver; nfe(4) has been the default driver for NVIDIA
nForce MCP adapters for a long time.

Yays:	jhb, remko, yongari
Nays:	none on the current and stable lists
2014-02-16 12:22:43 +00:00
Adrian Chadd
e952166b53 Enable use of the PCIe connected wifi on the DB120 (AR9344) board.
The on-board NIC is an 3x3 AR9380 with 5GHz only.

* enable pci code in AR9344_BASE
* enable ath_pci and the firmware loading bits in DB120
* add in the relevant hints in DB120.hints to inform the probe/attach
  code where the PCIe fixup data is for the onboard chip.

This is only relevant for a default development board.  I also have a
DB120 with the on-board PCIe wifi NIC disabled and it's exposed as
a real PCIe slot (to put normal PCIe NICs in); the fixup code will need
to be disabled to make this work correctly.

Tested:

* DB120
2014-02-14 05:25:15 +00:00
Adrian Chadd
e9330c7b33 Add the ath0 EEPROM hints required to detect the on-chip wifi.
This allows the on-chip wifi to work; however it's not yet fully
tested.

ath0: Vendor=0x168c, Device=0x0031
ath0: Vendor=0x168c, Device=0x0031
ath0: <Atheros AR934x> at mem 0x18100000-0x1811ffff irq 0 on nexus0
...
ath0: [HT] enabling HT modes
ath0: [HT] enabling short-GI in 20MHz mode
ath0: [HT] 1 stream STBC receive enabled
ath0: [HT] 1 stream STBC transmit enabled
ath0: [HT] 2 RX streams; 2 TX streams

Tested:

* DB120 development board
2014-02-14 04:03:17 +00:00
Luiz Otavio O Souza
c7b81b2fe5 Fix the geom mappings for WR1043ND.
The uboot mapping is only 128KiB (0x20000) and not 2MiB (0x200000).

Dynamically adjust kernel and rootfs mappings based on the
geom_uncompress(4) magic.

This makes the built images more reliable by accepting changes on kernel
size transparently and matches the images built with zrouter and
freebsd-wifi-build.

Tested by:	gjb
Approved by:	adrian (mentor)
Obtained from:	Zrouter
2014-01-07 13:09:35 +00:00
Bjoern A. Zeeb
8b8807f515 Add an FDT DTS and MDROOT kernel configuration for BERI on NetFPGA.
At this point we only support one CPU, the PIC, and a UART console.

Reviewed by:	brooks
Sponsored by:	DARPA, AFRL
MFC after:	5 days
2013-12-12 18:08:31 +00:00
Adrian Chadd
dfd325ea2c Add a configuration file and hints file for the Alfa Networks Hornet UB
board.

This is another AR9331 board similar to the Carambola2. It has different
ethernet and LED wiring though.

They make a variety of boards that mostly differ on the amount of RAM/flash
available.  Alfa Networks graciously donated a handful of 64MB RAM/16MB flash
boards so I can finish off 802.11s support for the AR93xx chips and do up
a tech demonstration with it.

This is enough to bring up the board.

Tested:

* Alfa networks UB Hornet board - 64MB ram, 16MB flash version.

Thankyou to Alfa Networks for the development boards!

Sponsored by:	Alfa Networks (hardware only)
2013-10-25 04:06:54 +00:00
Brooks Davis
8a60ded44f BERI_SIM.hint is no longer used, remove it.
MFC after:	3 days
Sponsored by:	DARPA/AFRL
2013-10-23 15:24:05 +00:00
Brooks Davis
c40ecff1b2 Enable ATSE_CFI_HACK in BERI configs, stable MAC addresses are useful.
MFC after:	3 days
Sponsored by:	DARPA/AFRL
2013-10-22 20:50:41 +00:00
Brooks Davis
cb7de87666 Sync BERI kernel configs with P4:
Switch the majority of device configuration to FDT from hints.

Add BERI_*_BASE configs to reduce duplication in the MDROOT and SDROOT
kernels.

Add NFS and GSSAPI support by default.

MFC after:	3 days
Sponsored by:	DARPA/AFRL
2013-10-22 15:45:31 +00:00
Brooks Davis
a33ce322b6 Remove the isf(4) driver. It was created by accident and is subset of
the cfi(4) driver.  It remained in the tree longer than would be ideal
due to the time required to bring cfi(4) to feature parity.

Sponsored by:	DARPA/AFRL
MFC after:	3 days
2013-10-21 22:43:38 +00:00
Adrian Chadd
564cc3654b Now that all of the on-chip switch and basic platform support is updated,
we can now add all the hardware bits for the DB120.

* arge0/argemdio0 is hooked up to an AR8327 switch - which there's currently
  no support for.  However, the bootloader on this board does set it up as
  a basic switch so we can at least _use_ it ourselves.

  So we should at least configure the arge0 side of things, including the GMAC
  register.

* .. the GMAC config peels off arge0 from the internal switch and exposes it
  as an RGMII to said AR8327.

* arge1/argemdio1 are hooked up to an internal 10/100 switch.  So, that also
  needs configuring.

* Add support for the NOR flash layout.

* Add support for the wifi (which works, with bugs, but it works.)

What's missing!

* No GPIO stuff yet!
* No sound (I2S) and no NAND flash support yet, sorry!
* The normal DB120 has an external AR95xx wifi chip on PCIe but with the
  actual calibration data in the NOR flash.  My DB120 has been modified
  to let me use the PCIe slot as a normal PCIe slot.  I'll add the "default"
  settings later when I have access to a non-modified one.
* Other stuff, like why the wifi unit gets upset and spits out stuck beacons
  and interrupt storms everywhere.  Sigh.

Tested:

* DB120 board - AR9344 (mips74k SoC) booting off of SPI flash into multi-user
  mode.
2013-10-16 04:22:26 +00:00
Adrian Chadd
f968a86f9d Yes, this board has 128mb of RAM. 2013-10-16 04:16:54 +00:00
Adrian Chadd
83220b2e9f Mark AR934x based boards to be mips74k.
Reviewed by:	imp@
Approved by:	re@ (gjb)
2013-10-09 00:27:33 +00:00
Sean Bruno
5c4d5cc795 set ROOTDEVNAME to ada0 with no paritions. This makes it much more functional
with makefs and other tools for testing and ports building

Approved by:    re (gjb)
MFC after:      2 weeks
2013-10-02 14:43:17 +00:00
Sean Bruno
7995e29931 Bring in configuration for Buffalo Airstation WZR-300HP, Atheros based
wireless home router.

Notable things:
2x 16 MB flash devices
Atheros Wireless
Atheros Switching

Many thanks to adrian@ for his guidance on this and keeping the drivers in
the base system up to date

Approved by:    re (delphij)
2013-09-17 22:26:07 +00:00
Hiren Panchasara
7e06ee8383 We have grown a bit too big lately. Shrinking the kernel for TP-Link
TL-WR1043ND.

Submitted by:   loos (initial version)
Reviewed by:    adrian
Approved by:    sbruno (mentor, implicit)
Approved by:	re (delphij)
Tested by:      hiren
2013-09-17 20:33:42 +00:00
Oleksandr Tymoshenko
3b15395e04 Add 32-bit support for Gxemul's oldtestmips machine emulation
Original work by: kan@
2013-09-04 20:34:36 +00:00
Sean Bruno
2b2cd594f5 Add options GEOM_PART_GPT and options MSDOSFS to the DIR-825
Reviewed by:	adrian@
2013-09-03 22:33:06 +00:00
Oleksandr Tymoshenko
990dc2acfb - Set proper KERNLOADADDR
- Add bpf(4) required by dhclient
2013-08-31 01:30:01 +00:00
Hiren Panchasara
631f16444a Add device PicoStation M2HP support.
This is a nice small outdoor/indoor AP from Ubiquity Networks.

The device has:
AR7241 CPU SoC
AR9287 Wifi
8MB flash
32MB RAM

wifi has been tested to work along with leds.

Submitted by:   loos
Approved by:    sbruno (mentor, implicit)
Tested by:      hiren
2013-08-30 20:46:01 +00:00
Oleksandr Tymoshenko
ba74a6f44f Add bpf(4) to config file to get dhclient working 2013-08-30 20:30:33 +00:00
Luiz Otavio O Souza
2557c4beb1 Add the default hints to make the GPIO pins, rf led and reset switch work
out of the box on RouterStation.

PR:	177832
Submitted by:	Petko Bordjukov (bordjukov@gmail.com)
Approved by:	adrian (mentor)
2013-08-28 14:43:04 +00:00
Sean Bruno
de1eecea8c Some vendors store the mac addresses of arge(4) as a literal sring in the
form xx:xx:xx:xx:xx:xx complete with ":" characters taking of 18 bytes
instead of 6 integers.  Expose a "readascii" tuneable to handle this case.

Remove restriction on eepromac assignement for the first dev instance only.

Add eepromac address for DIR-825 to hints file.

Add readascii hint for DIR-825

Reviewed by:	adrian@
2013-08-23 13:14:18 +00:00
David E. O'Brien
0e6a0799a9 Back out r253779 & r253786. 2013-07-31 17:21:18 +00:00
Sean Bruno
969eca8b4a Adjust magic numbers to allow attachment of ath(4) modules. 2013-07-31 16:27:56 +00:00
Sean Bruno
d439f5d933 device if_bridge gets me a bridge device 2013-07-31 16:26:34 +00:00
David E. O'Brien
99ff83da74 Decouple yarrow from random(4) device.
* Make Yarrow an optional kernel component -- enabled by "YARROW_RNG" option.
  The files sha2.c, hash.c, randomdev_soft.c and yarrow.c comprise yarrow.

* random(4) device doesn't really depend on rijndael-*.  Yarrow, however, does.

* Add random_adaptors.[ch] which is basically a store of random_adaptor's.
  random_adaptor is basically an adapter that plugs in to random(4).
  random_adaptor can only be plugged in to random(4) very early in bootup.
  Unplugging random_adaptor from random(4) is not supported, and is probably a
  bad idea anyway, due to potential loss of entropy pools.
  We currently have 3 random_adaptors:
  + yarrow
  + rdrand (ivy.c)
  + nehemeiah

* Remove platform dependent logic from probe.c, and move it into
  corresponding registration routines of each random_adaptor provider.
  probe.c doesn't do anything other than picking a specific random_adaptor
  from a list of registered ones.

* If the kernel doesn't have any random_adaptor adapters present then the
  creation of /dev/random is postponed until next random_adaptor is kldload'ed.

* Fix randomdev_soft.c to refer to its own random_adaptor, instead of a
  system wide one.

Submitted by: arthurmesh@gmail.com, obrien
Obtained from: Juniper Networks
Reviewed by: obrien
2013-07-29 20:26:27 +00:00
Adrian Chadd
f5937ee8e6 Add some initial board support for the AR934x and the Qualcomm Atheros
DB120 development board.

The AR934x SoCs are a MIPS74k based system with increased RAM addressing
space, some scratch-pad RAM, an improved gige switch PHY and 2x2 or 3x3
on-board dual-band wifi.

This support isn't complete by any stretch; it's just enough to bring
the board up for others to tinker with.  Notably, the MIPS74k support
is broken.  However it boots enough to echo some basic probe/attach
messages, before dying somewhere in the TLB code.

Thankyou to Qualcomm Atheros for their continued support of me doing
open source work with their hardware.

Tested:

* AR9344, mips74k
2013-07-21 04:00:48 +00:00
Adrian Chadd
e243f3cef2 Oops - fix bad hint numbering for the ART section. 2013-07-04 08:42:20 +00:00
Adrian Chadd
eb12447d83 Add in a configuration file and hints for the Engenius ENH-200.
This is an AR7240 based device with an AR9285 on-board.

I've tested the initial boot and wifi support; however at the moment
the ethernet switch driver doesn't seem to be picking up carrier on the
active ethernet port. Basic flood pinging works however, so I think
we're on the right track.

Thank you to Adrian Woodley <adrian@diskworld.com.au> for purchasing me
one of these devices to bootstrap FreeBSD-HEAD on.
2013-07-04 08:13:14 +00:00
Adrian Chadd
eaa0f58f05 Add the missing link back to the EEPROM firmware name. 2013-07-04 08:09:54 +00:00
Adrian Chadd
0cfc028fcb Add the EEPROM start offset and size in so ath_ahb will use the
supplied EEPROM data.

This needs to die in a fire and replaced with the firmware API
to store the calibration data early ..
2013-06-26 05:03:47 +00:00
Adrian Chadd
5dbf20a630 Add in the vendor / device id so the ath_ahb glue works. 2013-06-26 05:02:47 +00:00
Adrian Chadd
46b620a1aa Add the wireless support to the AR933x base kernel, as the support
actually works now.
2013-06-26 05:02:30 +00:00
Adrian Chadd
82aa6e614b Add 8devices CARAMBOLA2 support.
This is based on the AR933x (Hornet) SoC from Qualcomm Atheros.

It's a much nicer board to do development on - 64MB RAM, 16MB flash.
The development board breaks out the GPIO pins, ethernet, serial (via
a USB<->RS232 chip), USB host and of course a small wifi antenna.

Everything but the wifi works thus far.
2013-06-08 20:21:17 +00:00
Peter Wemm
dda759d344 Tidy up some CVS workarounds. 2013-05-12 01:53:47 +00:00
Warner Losh
656e9198b3 Add commented out OCTEON_VENDOR_GEFES 2013-05-10 03:05:44 +00:00
Adrian Chadd
7536215f31 Add some missing arge MDIO hints.
Submitted by:	Luiz Otavio O Souza <loos.br@gmail.com>
2013-05-09 19:37:00 +00:00
Adrian Chadd
a858494b9d Modify the routerstation config to use ukswitch for now.
Until an ADM6996 driver shows up, this allows for the two switch
ports to be used.

Submitted by:	Luiz Otavio O Souza <loos.br@gmail.com>
Reviewed by:	ray
2013-05-08 20:57:37 +00:00
Adrian Chadd
f98a5a9e9c Add the basic GPIO pin mapping to the hints file.
Tested:

* AP121 board, tested USB/jumpstart LEDs
2013-04-05 02:15:10 +00:00
Adrian Chadd
0d788ee602 Add AP121 ethernet / switch PHY support.
* arge0 is MII
* arge1 is GMII
* the MDIO bus is on arge1, not arge0
* the default switch config is to have ports 0-3 as the switch group,
  with port 4 being an external PHY dedicated to arge0 (ie, 'cpu' port.)

Whilst I'm here, remove unused bits and pieces from the config.

Tested:

* AP121, ping on both arge0 and arge1
* Tested switch port detection using etherswitchcfg
2013-04-05 01:38:13 +00:00
Adrian Chadd
345d8465a5 Now that interrupt driven uart IO is working, flip this back on. 2013-04-05 00:26:29 +00:00
Adrian Chadd
573a9a7743 Use geom_uncompress here; we need this to fit in a 4MB flash part. 2013-04-05 00:21:17 +00:00
Adrian Chadd
ae0ac787f2 Implement AR933x polled IO uart bus code.
This implements the bus transmit/receive/sigchg/ipend methods with
a polled interrupt handler (ipend) rather than enabling hardware
interrupts.

The FIFO is faked at 16 bytes deep for now, just so the transmit
IO side doesn't suck too bad (the callout frequency limits how quickly
IO is flushed to the sender, rather than scheduling the callout more
frequently whilst there's active TX.  But I digress.)

Tested:

* Atheros AP121 (AR9330) reference board, booting to multi-user interactive
  mode.
2013-04-04 10:46:33 +00:00
Alexander Motin
45f6d66569 Remove all legacy ATA code parts, not used since options ATA_CAM enabled in
most kernels before FreeBSD 9.0.  Remove such modules and respective kernel
options: atadisk, ataraid, atapicd, atapifd, atapist, atapicam.  Remove the
atacontrol utility and some man pages.  Remove useless now options ATA_CAM.

No objections:	current@, stable@
MFC after:	never
2013-04-04 07:12:24 +00:00
Adrian Chadd
033891b29d Disable this; it's a local option that I haven't yet committed to -HEAD. 2013-03-29 20:07:51 +00:00
Adrian Chadd
43b36ea90a Initial (unfinished!) AR933x support. 2013-03-28 20:48:58 +00:00
Juli Mallett
b29648facd Add basic support for the Ubiquiti EdgeRouter Lite.
Note that USB does not currently work, and the flash is connected via USB, so
local storage is not working.
2013-01-02 23:17:50 +00:00
Juli Mallett
01a310bd57 o) Add support for specifying a model of Octeon to target at compile-time,
reducing the number of runtime checks done by the SDK code.
o) Group board/CPU information at early startup by subject matter, so that e.g.
   CPU information is adjacent to CPU information and board information is
   adjacent to board information.
2012-11-24 02:00:29 +00:00