1 # $NetBSD: files.omap,v 1.4 2007/01/06 00:59:45 christos Exp $
3 # Configuration info for Texas Instruments OMAP CPU support
4 # Based on xscale/files.pxa2x0
7 file arch/arm/arm32/irq_dispatch.S
9 # Memory size in megabytes
10 defparam opt_omap.h MEMSIZE
12 # Texas Instruments Peripheral Bus.
13 # addr: Address of the peripheral in the OMAP address space
14 # size: Number of bytes that the peripheral occupies in the OMAP address space
15 # intr: Interrupts connected to the first level interrupt controller should
16 # give the first level interrupt controller's number. Interrupts
17 # connected to the second level interrupt controller should give the
18 # second level interrupt controller's number plus 32 (the number of
19 # interrupts that the first level controller has).
20 # mult: Used to multiply the offsets given within a driver. For example, if
21 # the driver expects byte registers at byte offsets, but they are mapped
22 # in at word offsets, a mult of 4 would be specified. Note that the
23 # size parameter is not multiplied by mult. If you specify a mult, in
24 # general, you should probably be specifying a size to ensure that the
25 # correct amount is mapped.
26 device tipb { [addr=-1], [size=0], [intr=-1], [mult=1] } : bus_space_generic
27 attach tipb at mainbus
28 file arch/arm/omap/omap_tipb.c tipb
29 defparam opt_omap.h OMAP_TIPB_PBASE OMAP_TIPB_SIZE
31 # Extended Memory Interface Slow
32 # Same parameters as for TIPB, but with the addition of parameters to
33 # configure bus access. A parameter is provided to to force halfword access
34 # instead of byte accesses:
35 # nobyteacc: Allow 8-bit access for device with no lsb address line
36 # If this is set to 1, if an attempt is made to write a single byte to the
37 # bus, it will automatically get converted into reading a halfword, setting
38 # the byte that is being written into the appropriate byte of the halfword,
39 # and then writing the halfword to the bus.
41 # In addition to the nobyteacc parameter, a number of parameters are provided
42 # to configure bus timing via the EMIFS_CCS and EMIFS_ACS registers. The cs
43 # parameter specifies which chip-select should have its configuration
46 # NOTE: If the cs parameter is not specified, the EMIFS_CCS and EMIFS_ACS
47 # registers will not be modified and all of the bus timing parameters will be
50 # When cs is specified, EMIFS_CCS and EMIFS_ACS will be modified. In addition
51 # to cs on your emifs device, you must specify the base parameter on the emifs
52 # bus to tell it where its registers are. All fields of the EMIFS_CCS and
53 # EMIFS_ACS registers will be set. The EMIFS will be set to be:
55 # asynchronous, non-page mode (RDMODE = 0)
56 # non-multiplexed protocol
60 # The timing parameters are rdwst, oesetup, oehold, wrwst, welen, advhold,
61 # btwst and btmode. All of them specify a number of nanoseconds, except
62 # btmode which is a simple 0/1 flag.
64 # For a read cycle, CS will be held low for rdwst nanoseconds. The delay from
65 # driving CS low to driving OE low is specified by oesetup. OE will go back
66 # high oehold nanoseconds before CS goes back high.
68 # For a write cycle, CS will be held low for wrwst (time before WE goes low) +
69 # welen (time WE is held low) + 1 REF_CLK cycle (time after WE goes high).
71 # For both read and write, advhold specifies how long ADV should be remain low
72 # after it is driven low at the same time as CS.
74 # The bus turn around time (amount of time that CS needs to be high between
75 # accesses) is specified by btwst and btmode. See the TRM for more
78 # If btmode is not specified, it will be set to 0. All other timing
79 # parameters will default to their minimum value.
81 device emifs { [addr=-1], [size=0], [intr=-1], [mult=1], [nobyteacc=0],
82 [cs=-1], [rdwst=0], [oesetup=0], [oehold=0],
83 [wrwst=0], [welen=0], [advhold=0], [btwst=0], [btmode=0]
85 attach emifs at mainbus
86 file arch/arm/omap/omap_emifs.c emifs
87 file arch/arm/omap/omap_nobyteacc_space.c emifs
88 file arch/arm/omap/omap_nobyteacc_io.S emifs
89 defparam opt_omap.h OMAP_TC_CLOCK_FREQ
92 device ocp { [addr=-1], [size=0], [intr=-1], [mult=1]} : bus_space_generic
94 file arch/arm/omap/omap_ocp.c ocp
96 # TIPB/EMIFS/OCP common files
97 file arch/arm/omap/omap_space.c tipb | emifs | ocp
98 file arch/arm/omap/omap_a2x_space.c tipb | emifs | ocp
99 file arch/arm/omap/omap_a2x_io.S tipb | emifs | ocp
100 file arch/arm/omap/omap_a4x_space.c tipb | emifs | ocp
101 file arch/arm/xscale/pxa2x0_a4x_io.S tipb | emifs | ocp
103 # NS16550 compatible serial ports
104 attach com at tipb with omapuart
105 file arch/arm/omap/omap_com.c omapuart
106 defparam opt_com.h CONSADDR CONSPEED CONMODE
110 file arch/arm/omap/omap_intr.c omapintc
111 # OMAP5912 specific INTC controller code
112 device omap5912intc: omapintc
113 attach omap5912intc at tipb
114 file arch/arm/omap/omap5912_intr.c omap5912intc
118 attach omapmputmr at tipb
119 file arch/arm/omap/omap_mputmr.c omapmputmr
120 defparam opt_omap.h OMAP_MPU_TIMER_CLOCK_FREQ
124 attach omapgpio at tipb
125 file arch/arm/omap/omap_gpio.c omapgpio needs-count
129 attach omaprtc at tipb
130 file arch/arm/omap/omap_rtc.c omaprtc