Commit Graph

1026 Commits

Author SHA1 Message Date
sam
094f090e7f o mark unexpected callbacks more clearly
o unwrap some lines
2009-03-08 23:45:56 +00:00
sam
d4b227a5fa Cleanup virtual device mapping some more:
o improves understandability by replacing numerous relative address
  calculations with fixed addresses; everything should now match up
  more easily with the vm layout shown at the top of the file
o move the expansion bus chip select regions to be contiguous with
  the expansion bus configuration area; this is not exploited right
  now but allows map consolidation in the future
o leave a gap between the expansion bus regions and the pci config
  space in case we want to map more exp bus cs regions

Reviewed by:	imp, thompsa
2009-03-06 23:32:45 +00:00
sam
280ce52aab remove unneeded static mappings for NPE and MAC regions; these are
already mapped through the IO region so never used

Reviewed by:	imp, thompsa
2009-03-06 23:29:00 +00:00
sam
3a62c9c6b1 enable tdma support by default; many people using these boards
are using them to setup tdma p2p links
2009-03-06 23:27:47 +00:00
sam
ee9e30ef64 legacy USB is required on these platforms at the moment 2009-03-06 23:26:50 +00:00
sam
c7014ac9b6 fix legacy usb configuration 2009-03-06 23:22:09 +00:00
sam
0315cdff03 o simplify code in ixppcib_conf_setup
o fixup debug printfs
2009-03-06 20:40:09 +00:00
imp
4d511e5cfe Move to new usb stack that puts the front-end bus attachments with the
usb stack rather than with the rest of the processor support code.
Not sure that's a good idea, as we were moving away from it, but this
fixes the build in the mean time so we can have that discussion.
2009-02-27 23:12:28 +00:00
thompsa
fc03dc2730 Update paths for ehci_ixp4xx.c in the old and new stacks. 2009-02-24 23:34:02 +00:00
thompsa
eb7404d4aa Fix path and config name for ehci_mbus.c 2009-02-24 23:30:52 +00:00
thompsa
6b0018e885 Change over the usb kernel options to the new stack (retaining existing
naming). The old usb stack can be compiled in my prefixing the name with 'o'.
2009-02-23 18:34:56 +00:00
sam
b7b417fcff use mii instead of miibus so we don't drag in all phy support
(we only need ukphy which is brought in by mii)

MFC after:	1 week
2009-02-18 01:37:57 +00:00
marcel
0f3b39bd24 Include Marvell EHCI HC driver for USB2. 2009-02-16 21:42:41 +00:00
cognet
faf20f1b94 Oops. ARM_RAS_END is ARM_TP_ADDRESS + 8, not 4.
Spotted out by:	Mark Tinguely <tinguely at casselton d0t net>
2009-02-13 16:00:19 +00:00
cognet
a4557d874c To prevent various race conditions in the RAS code, store and restore the
values in ARM_RAS_START and ARM_RAS_END at context switch time.

MFC after:	1 week
2009-02-12 23:23:30 +00:00
cognet
fd95932030 Do not set thread0.td_frame to a bogus value, as it's going to overwrite the
thread0 pcb, while the board-dependant code already set a good trapframe.

Reported by:	Mark Tinguely <tinguely at casselton d0t net>

MFC after:	1 week
2009-02-12 22:55:39 +00:00
sam
c11da81185 fix ARM_USE_SMALL_ALLOC after memory layout changes
Submitted by:	cognet
2009-02-11 22:34:50 +00:00
cognet
80c343b215 The bounce zone sees its page number increased if multiple dma maps use it in
the same dma tag. However, it can happen multiple dma tags share the same
bounce zone too, so add a per-bounce zone map counter, and check it instead of
the dma tag map counter, to know if we have to alloc more pages.

Reported by:	miwi
Reviewed by:	scottl
2009-02-09 18:03:31 +00:00
imp
719ba982f2 When bouncing pages, allow a new option to preserve the intra-page
offset.  This is needed for the ehci hardware buffer rings that assume
this behavior.

This is an interim solution, and a more general one is being worked
on.  This solution doesn't break anything that doesn't ask for it
directly.  The mbuf and uio variants with this flag likely don't work
and haven't been tested.

Universe builds with these changes.  I don't have a huge-memory
machine to test these changes with, but will be happy to work with
folks that do and hps if this changes turns out not to be sufficient.

Submitted by:	alfred@ from Hans Peter Selasky's original
2009-02-08 22:54:58 +00:00
cognet
b979733e86 Erm... Report the buffer as being bounced even when it's the entire buffer,
or we would end up invalidating the cache line for what we just copied...

Reported by:	thompsa
Pointy at to:	cognet

MFC after:	3 days
2009-02-04 01:14:06 +00:00
sam
0a4dfa3cb8 Add support for the StrataFlash on 2348 boards:
o add bus shim for cfi driver
o add static mapping for CS0 (we map all 16M as the cfi driver doesn't
  support demand mapping)

Note this needs some tweaking to work for 2358 boards which is why the
CAMBRIA config is not touched.
2009-02-03 19:16:04 +00:00
sam
b0deb12c84 force atomic_cmpset_ptr types to match atomic_cmpset_32;
this matches what powerpc does

Submitted by:	stass
MFC after:	2 weeks
2009-02-03 19:06:12 +00:00
cognet
a01bfe2242 Move a comment to where it belongs.
Spotted out by:	Christoph Mallon <christoph d0t mallon AT gmx d0t de>
2009-02-02 20:24:29 +00:00
cognet
39abacdd54 Remove unused variables.
Spotted out by:	Christoph Mallon <christoph d0t mallon AT gmx d0t de>
2009-02-02 20:09:14 +00:00
thompsa
82aae85baa Increment total_bounced busdma stat as required. 2009-01-30 07:01:32 +00:00
imp
8220172455 Move to having a caps flag. Newer versions of the AT91 family don't
need the bouncing, so save a few copies in that case.  Also convert
4-bit code selection to using it.
2009-01-23 00:51:25 +00:00
imp
73288922b2 Don't over-commit the DMA. Use the passed in size of the transfer
rather than a fixed 512...  This fixes the mount root problem on at91.
Prior to the SD card reorg, all data transfers were 512 bytes, so we
didn't notice.
2009-01-22 22:29:21 +00:00
imp
f8e69e3986 Migrate towards using at91_master_clock. Initialize the clocks for
the serial port class when we set the devclass since it is now
no-longer a compile time constant.  Eliminate the pci include, as it
isn't relevant or necessary.
2009-01-22 21:56:41 +00:00
imp
94037e905a Use at91_master_clock instead of AT91C_MASTER_CLOCK. 2009-01-22 21:55:37 +00:00
imp
57d525aa7f Remove now-redundant declaration. 2009-01-22 21:55:04 +00:00
imp
e68dc65ae1 Store at91_master_clock in a global variable as opposed to a compile
time constant.  This allows us to potentially change it at runtime or
autodetect it early in the boot (the latter being much more likely to
have a good outcome).
2009-01-22 21:54:26 +00:00
cognet
3959d9afa2 Add a comment explaining what ARM_KERN_DIRECTMAP is all about.
Suggested by:	raj
2009-01-22 15:36:11 +00:00
imp
43f8f3168f o The f_max is really at91_master_clock / 2, not 30MHz, so compute it as such.
o Only set 4-bit caps on those boards that have 4-bit caps (this means that
  because we don't set wire4 yet, this forces us to always use 1-bit bus).
o Don't test wire4 when setting up the bus width, since bad things will
  happen if we do.

# This likely won't fix the busted at91 sd card support, but these are
# needful changes for correctness.
2009-01-21 17:39:11 +00:00
mav
e6593c6ded Implement MMCBR_IVAR_CAPS. It should better be implemented, or results
can be unpredictable.

PR:		arm/128987
2009-01-20 17:36:58 +00:00
cognet
6d87ada9d2 Remove a duplicate #include. 2009-01-16 19:31:27 +00:00
raj
aa56a975c1 Check PCIE link status before accessing the bus.
Some 88F5182-based systems (Linkstation) have problems when PCIE is
accessed without any peripherals present.
2009-01-09 12:38:41 +00:00
raj
bdbca6dd56 Rename Marvell ARM CPU specific file according to r186933. 2009-01-09 10:55:33 +00:00
raj
9a3c731c25 Fix confusing naming of Marvell ARM CPU specific routines.
- The contents of 'feroceon_cpufuncs' dispatch table was really dedicated for the
  new Sheeva CPU (in 88F6xxx and MV-78xxx SOCs), and NOT Feroceon.

- Feroceon CPU (in 88F5xxx SOCs) appears as a regular ARM926EJ-S core and does
  not require dedicated routines.

This will be accompanied by a file rename commit.
2009-01-09 10:45:04 +00:00
raj
761fc04620 Improve Marvell SOCs PCI/PCIE driver.
- Provide dedicated rmans for MEM and IO resources.

- Convert PCI IRQ routing info into a table (from callback approach), provide
  config data for alternative DB- boards.

- Fix a wrong boundary check error in pcib_mbus_init_bar()

Obtained from:	Semihalf
2009-01-09 10:20:51 +00:00
raj
fa4df0b07e Improve and extend Marvell SOCs platform code.
- Allow for setting per platform MPP/GPIO configuration in the kernel, so
  that we can override all settings firmware might set.

- Set decode windows for the remaining on-chip peripherals: CESA, SATA and XOR.

- Improve handling of USB controllers so that all port are available on the
  given SOC/platform (e.g. up to three on DB-78xxx), this includes rework of
  USB decode windows set-up.

- Other minor fixes and cosmetics.

Obtained from:	Semihalf
2009-01-08 18:31:43 +00:00
raj
cffb1b8725 Minor style(9) corrections. 2009-01-08 13:25:22 +00:00
raj
8211555cce Adjust Marvell SOC support for A0 chip revision.
- Clean up TCLK handling so that it's dynamically recognized depending on
  registers settings or chip version/revision. Update registers definitions.

- Teach SOC ident routine about A0 (initial silicon version for general
  audience)

Obtained from:	Marvell, Semihalf
2009-01-08 13:20:28 +00:00
bz
4d655f6e02 Include std.ixp425 for "cpu" and comment out duplicate memory map
options. Using the already included std.avila is not considered
to be entirely right (and the options slightly differ) but the best
match we currently have. Upcoming work should fit better.

Reorder another variable to match the layout of other configs.

Reviewed by:	sam, warner (earlier version with options removed)
2008-12-28 11:04:24 +00:00
bz
99eac7d125 In additions to the configs from r185478, which also enabled the
use of modules for arm, disable them by adding MODULES_OVERRIDE=""
here as well.

Reviewed by:	sam
MFC after:	3 weeks
2008-12-27 19:03:57 +00:00
sam
c6db750e0d arm is in DEFAULTS; remove dup
Submitted by:	bz
2008-12-27 19:02:01 +00:00
bz
290a396542 Removed duplicate
makeoptions    MODULES_OVERRIDE=""
2008-12-27 17:22:17 +00:00
marcel
cabae62b0b Add support for the FPA floating-point format on ARM. The
FPA floating-point format is identical to the VFP format,
but is always stored in big-endian.
Introduce _IEEE_WORD_ORDER to describe the byte-order of
the FP representation.

Obtained from:	Juniper Networks, Inc
2008-12-23 22:20:59 +00:00
sam
c5ef864c3b move IXP4XX EHCI bus shim to the usb directory and rename 2008-12-23 17:40:02 +00:00
sam
b1dd8b93a3 NPE cleanups needed for ancillary drivers (e.g. crypto acceleration):
o check feature bits when probing NPE ethernet support
o move firmware loading logic from if_npe to core npe support
o allow multiple refs to core NPE driver
o while here fix hw.npe.debug tunable path
2008-12-23 04:51:46 +00:00
sam
5bd8a4e637 kill NPE_PORTS_MAX, it's not used and likely will not be 2008-12-23 04:49:01 +00:00