No empty .Rs/.Re
[netbsd-mini2440.git] / sys / arch / arm / omap / files.omap
blobb16e18f3c14b536f9a4b823a977403a109e1d4dd
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
44 # modified.
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
48 # ignored.
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
57 #       16 bit wide
58 #       REF_CLK = TC_CK / 1
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
76 # information.
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]
84              } : bus_space_generic
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
91 # OCP
92 device ocp { [addr=-1], [size=0], [intr=-1], [mult=1]} : bus_space_generic
93 attach ocp at mainbus
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
108 # INTC controller
109 define omapintc
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
116 # MPU Timer
117 device omapmputmr
118 attach omapmputmr at tipb
119 file    arch/arm/omap/omap_mputmr.c             omapmputmr
120 defparam opt_omap.h                             OMAP_MPU_TIMER_CLOCK_FREQ
122 # OMAP GPIO Block
123 device omapgpio
124 attach omapgpio at tipb
125 file  arch/arm/omap/omap_gpio.c       omapgpio  needs-count
127 # RTC
128 device omaprtc
129 attach omaprtc at tipb
130 file arch/arm/omap/omap_rtc.c                   omaprtc