@@ -18,155 +18,19 @@ a powerful and flexible Intel |reg| FPGA Altera MAX 10 onboard.
18
18
19
19
Up Squared (Credit: https://up-board.org)
20
20
21
- This board configuration enables kernel support for the `UP Squared `_ board,
22
- along with the following devices:
23
-
24
- * High Precision Event Timer (HPET)
25
-
26
- * Serial Ports in Polling and Interrupt Driven Modes
27
-
28
- * GPIO
29
-
30
- * I2C
21
+ This board configuration enables kernel support for the `UP Squared `_ board.
31
22
32
23
.. note ::
33
24
This board configuration works on all three variants of `UP Squared `_
34
25
boards containing Intel |reg | Pentium |trade | SoC,
35
26
Intel |reg | Celeron |trade | SoC, or Intel |reg | Atom |trade | SoC.
36
27
37
- .. note ::
38
- This board configuration works only with the default BIOS settings.
39
- Enabling/disabling LPSS devices in BIOS (under Advanced -> HAT Configurations)
40
- will change the MMIO addresses of these devices, and will prevent
41
- the drivers from communicating with these devices. For drivers that support
42
- PCI enumeration, :option: `CONFIG_PCI ` and :option: `CONFIG_PCI_ENUMERATION `
43
- will allow these drivers to probe for the correct MMIO addresses.
44
-
45
28
Hardware
46
29
********
47
30
48
31
General information about the board can be found at the `UP Squared `_ website.
49
32
50
- Supported Features
51
- ==================
52
-
53
- This board supports the following hardware features:
54
-
55
- * HPET
56
-
57
- * Advanced Programmed Interrupt Controller (APIC)
58
-
59
- * Serial Ports in Polling and Interrupt Driven Modes, High-Speed
60
-
61
- * GPIO
62
-
63
- * I2C
64
-
65
- +-----------+------------+-----------------------+-----------------+
66
- | Interface | Controller | Driver/Component | PCI Enumeration |
67
- +===========+============+=======================+=================+
68
- | HPET | on-chip | system clock | Not Supported |
69
- +-----------+------------+-----------------------+-----------------+
70
- | APIC | on-chip | interrupt controller | Not Supported |
71
- +-----------+------------+-----------------------+-----------------+
72
- | UART | on-chip | serial port-polling; | Supported |
73
- | | | serial port-interrupt | |
74
- +-----------+------------+-----------------------+-----------------+
75
- | GPIO | on-chip | GPIO controller | Not Supported |
76
- +-----------+------------+-----------------------+-----------------+
77
- | I2C | on-chip | I2C controller | Supported |
78
- +-----------+------------+-----------------------+-----------------+
79
-
80
- The Zephyr kernel currently does not support other hardware features.
81
-
82
- Serial Port Support
83
- -------------------
84
-
85
- Serial port I/O is supported in both polling and interrupt-driven modes.
86
-
87
- Baud rates beyond 115.2Kbps (up to 3.6864Mbps) are supported, with additional
88
- configuration. The UARTs are fed a master clock which is fed into a PLL which
89
- in turn outputs the baud master clock. The PLL is controlled by a per-UART
90
- 32-bit register called ``PRV_CLOCK_PARAMS `` (aka the ``PCP ``), the format of
91
- which is:
92
-
93
- +--------+---------+--------+--------+
94
- | [31] | [30:16] | [15:1] | [0] |
95
- +========+=========+========+========+
96
- | enable | ``m `` | ``n `` | toggle |
97
- +--------+---------+--------+--------+
98
-
99
- The resulting baud master clock frequency is ``(n/m) `` * master.
100
-
101
- On the UP^2, the master clock is 100MHz, and the firmware by default sets
102
- the ``PCP `` to ``0x3d090240 ``, i.e., ``n = 288 ``, ``m = 15625 ``, which
103
- results in the de-facto standard 1.8432MHz master clock and a max baud rate
104
- of 115.2k. Higher baud rates are enabled by changing the PCP and telling
105
- Zephyr what the resulting master clock is.
106
-
107
- Use devicetree to set the value of the ``PRV_CLOCK_PARAMS `` register in
108
- the UART block of interest. Typically an overlay ``up_squared.overlay ``
109
- would be present in the application directory, and would look something
110
- like this:
111
-
112
- .. code-block :: console
113
-
114
- / {
115
- soc {
116
- uart@0 {
117
- pcp = <0x3d090900>;
118
- clock-frequency = <7372800>;
119
- current-speed = <230400>;
120
- };
121
- };
122
- };
123
-
124
- The relevant variables are ``pcp `` (the value to use for ``PRV_CLOCK_PARAMS ``),
125
- and ``clock-frequency `` (the resulting baud master clock). The meaning of
126
- ``current-speed `` is unchanged, and as usual indicates the initial baud rate.
127
-
128
- Interrupt Controller
129
- --------------------
130
-
131
- This board uses the kernel's static Interrupt Descriptor Table (IDT) to program the
132
- Advanced Programmable Interrupt Controller (APIC) interrupt redirection table.
133
-
134
-
135
- +-----+---------+--------------------------+
136
- | IRQ | Remarks | Used by Zephyr Kernel |
137
- +=====+=========+==========================+
138
- | 2 | HPET | timer driver |
139
- +-----+---------+--------------------------+
140
- | 4 | UART_0 | serial port when used in |
141
- | | | interrupt mode |
142
- +-----+---------+--------------------------+
143
- | 5 | UART_1 | serial port when used in |
144
- | | | interrupt mode |
145
- +-----+---------+--------------------------+
146
- | 14 | GPIO | GPIO APL driver |
147
- +-----+---------+--------------------------+
148
- | 27 | I2C_0 | I2C DW driver |
149
- +-----+---------+--------------------------+
150
- | 28 | I2C_1 | I2C DW driver |
151
- +-----+---------+--------------------------+
152
- | 29 | I2C_2 | I2C DW driver |
153
- +-----+---------+--------------------------+
154
- | 30 | I2C_3 | I2C DW driver |
155
- +-----+---------+--------------------------+
156
- | 31 | I2C_4 | I2C DW driver |
157
- +-----+---------+--------------------------+
158
- | 32 | I2C_5 | I2C DW driver |
159
- +-----+---------+--------------------------+
160
- | 33 | I2C_6 | I2C DW driver |
161
- +-----+---------+--------------------------+
162
- | 34 | I2C_7 | I2C DW driver |
163
- +-----+---------+--------------------------+
164
-
165
- HPET System Clock Support
166
- -------------------------
167
-
168
- The SoC uses HPET timing with legacy-free timer support. The board
169
- configuration uses HPET as a system clock timer.
33
+ .. include :: ../../../../soc/x86/apollo_lake/doc/supported_features.rst
170
34
171
35
GPIO
172
36
----
@@ -187,12 +51,6 @@ Connections and IOs
187
51
Refer to the `UP Squared `_ website and `UP Squared Pinout `_ website
188
52
for connection diagrams.
189
53
190
- Memory Mappings
191
- ===============
192
-
193
- This board configuration uses default hardware memory map
194
- addresses and sizes.
195
-
196
54
Programming and Debugging
197
55
*************************
198
56
0 commit comments