]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/arm64/conf/NOTES
MFV r355890:
[FreeBSD/FreeBSD.git] / sys / arm64 / conf / NOTES
1 #
2 # NOTES -- Lines that can be cut/pasted into kernel and hints configs.
3 #
4 # This file contains machine dependent kernel configuration notes.  For
5 # machine independent notes, look in /sys/conf/NOTES.
6 #
7 # $FreeBSD$
8 #
9
10 #
11 # We want LINT to cover profiling as well.
12 # Except it's broken.
13 #profile         2
14
15 #
16 # Enable the kernel DTrace hooks which are required to load the DTrace
17 # kernel modules.
18 #
19 options         KDTRACE_HOOKS
20
21 #
22 # Most of the following is copied from ARM64 GENERIC.
23 cpu             ARM64
24
25 makeoptions     DEBUG=-g                # Build kernel with gdb(1) debug symbols
26 makeoptions     WITH_CTF=1              # Run ctfconvert(1) for DTrace support
27
28 options         PRINTF_BUFR_SIZE=128    # Prevent printf output being interspersed.
29 options         KDTRACE_FRAME           # Ensure frames are compiled in
30 options         VFP                     # Floating-point support
31 options         RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default
32 options         INTRNG
33
34 nooptions       GDB                     # Support remote GDB -- not supported
35
36 # SoC support
37 options         SOC_ALLWINNER_A64
38 options         SOC_ALLWINNER_H5
39 options         SOC_CAVM_THUNDERX
40 options         SOC_HISI_HI6220
41 options         SOC_BRCM_BCM2837
42 options         SOC_BRCM_BCM2838
43 options         SOC_MARVELL_8K
44 options         SOC_ROCKCHIP_RK3328
45 options         SOC_ROCKCHIP_RK3399
46 options         SOC_XILINX_ZYNQ
47
48 # Timer drivers
49 device          a10_timer
50
51 # Annapurna Alpine drivers
52 device          al_ccu                  # Alpine Cache Coherency Unit
53 device          al_nb_service           # Alpine North Bridge Service
54 device          al_iofic                # I/O Fabric Interrupt Controller
55 device          al_serdes               # Serializer/Deserializer
56 device          al_udma                 # Universal DMA
57
58 # Qualcomm Snapdragon drivers
59 device          qcom_gcc                # Global Clock Controller
60
61 # VirtIO support
62 device          virtio
63 device          virtio_pci
64 device          virtio_mmio
65 device          virtio_blk
66 device          vtnet
67
68 # CPU frequency control
69 device          cpufreq
70
71 # Bus drivers
72 device          al_pci          # Annapurna Alpine PCI-E
73 options         PCI_HP                  # PCI-Express native HotPlug
74 options         PCI_IOV         # PCI SR-IOV support
75
76 # Ethernet NICs
77 device          mdio
78 device          awg             # Allwinner EMAC Gigabit Ethernet
79 device          axgbe           # AMD Opteron A1100 integrated NIC
80 device          neta            # Marvell Armada 370/38x/XP/3700 NIC
81 device          smc             # SMSC LAN91C111
82 device          vnic            # Cavium ThunderX NIC
83 device          al_eth          # Annapurna Alpine Ethernet NIC
84 device          dwc_rk          # Rockchip Designware
85 device          dwc_socfpga     # Altera SOCFPGA Ethernet MAC
86
87 # Etherswitch devices
88 device          e6000sw         # Marvell mv88e6085 based switches
89
90 # NVM Express (NVMe) support
91 device          nvme            # base NVMe driver
92 options         NVME_USE_NVD=0  # prefer the cam(4) based nda(4) driver
93 device          nvd             # expose NVMe namespaces as disks, depends on nvme
94
95 # MMC/SD/SDIO Card slot support
96 device          sdhci_xenon             # Marvell Xenon SD/MMC controller
97 device          aw_mmc                  # Allwinner SD/MMC controller
98 device          dwmmc
99 device          dwmmc_altera
100 device          rk_emmcphy
101
102 # Serial (COM) ports
103 device          uart_msm        # Qualcomm MSM UART driver
104 device          uart_mu         # RPI3 aux port
105 device          uart_mvebu      # Armada 3700 UART driver
106 device          uart_ns8250     # ns8250-type UART driver
107 device          uart_snps
108 device          pl011
109
110 # USB support
111 device          aw_usbphy               # Allwinner USB PHY
112 device          dwcotg                  # DWC OTG controller
113 device          ehci_mv                 # Marvell EHCI USB interface
114
115 # USB ethernet support
116 device          muge
117 device          smsc
118
119 # Sound support
120 device a10_codec
121
122 # DMA controller
123 device          a31_dmac
124
125 # GPIO / PINCTRL
126 device          a37x0_gpio      # Marvell Armada 37x0 GPIO controller
127 device          aw_gpio         # Allwinner GPIO controller
128 device          fdt_pinctrl
129 device          mv_gpio         # Marvell GPIO controller
130 device          mvebu_pinctrl   # Marvell Pinmux Controller
131 device          rk_gpio         # RockChip GPIO Controller
132 device          rk_pinctrl      # RockChip Pinmux Controller
133
134 # I2C
135 device          aw_rsb          # Allwinner Reduced Serial Bus
136 device          bcm2835_bsc     # Broadcom BCM283x I2C bus
137 device          twsi            # Allwinner I2C controller
138 device          rk_i2c          # RockChip I2C controller
139
140 # Clock and reset controllers
141 device          aw_ccu          # Allwinner clock controller
142
143 # Interrupt controllers
144 device          aw_nmi          # Allwinner NMI support
145 device          mv_cp110_icu    # Marvell CP110 ICU
146 device          mv_ap806_gicp   # Marvell AP806 GICP
147
148 # Real-time clock support
149 device          aw_rtc          # Allwinner Real-time Clock
150 device          mv_rtc          # Marvell Real-time Clock
151
152 # Watchdog controllers
153 device          aw_wdog         # Allwinner Watchdog
154
155 # Power management controllers
156 device          axp81x          # X-Powers AXP81x PMIC
157 device          rk805           # RockChip RK805 PMIC
158
159 # EFUSE
160 device          aw_sid          # Allwinner Secure ID EFUSE
161
162 # Thermal sensors
163 device          aw_thermal      # Allwinner Thermal Sensor Controller
164 device          mv_thermal      # Marvell Thermal Sensor Controller
165
166 # SPI
167 device          bcm2835_spi     # Broadcom BCM283x SPI bus
168
169 # PWM
170 device          pwm
171 device          aw_pwm
172
173 device          vt_efifb
174
175 # EVDEV support
176 options         EVDEV_SUPPORT           # evdev support in legacy drivers
177 device          aw_cir
178
179 # Pseudo devices.
180 options         EFIRT           # EFI Runtime Services
181
182 # EXT_RESOURCES pseudo devices
183 options         EXT_RESOURCES
184 device          clk
185 device          phy
186 device          hwreset
187 device          nvmem
188 device          regulator
189 device          syscon
190 device          aw_syscon
191
192 # Chip-specific errata
193 options         THUNDERX_PASS_1_1_ERRATA
194
195 options         FDT
196 device          acpi
197
198 # DTBs
199 makeoptions     MODULES_EXTRA="dtb/allwinner dtb/rockchip dtb/rpi"
200
201 # Add CAMDEBUG stuff
202 options         CAMDEBUG
203 options         CAM_DEBUG_FLAGS=(CAM_DEBUG_INFO|CAM_DEBUG_PROBE|CAM_DEBUG_PERIPH)
204
205 # bring in camified MMC too
206 options         MMCCAM
207
208 # arm64 doesn't support inb/outb, so disable chipset probing which needs it
209 nooptions       PPC_PROBE_CHIPSET
210
211 # These cause weird issues, not sure why
212 nooptions       DEBUG
213
214 # Makes assumptions about bus tags that aren't true on arm64
215 nodevice        snd_cmi
216
217 # arm64 didn't exist for these releases, so doesn't have the required compat
218 # support. Just disable them because they are meaningless.
219 nooptions       COMPAT_FREEBSD4
220 nooptions       COMPAT_FREEBSD5
221 nooptions       COMPAT_FREEBSD6
222 nooptions       COMPAT_FREEBSD7
223 nooptions       COMPAT_FREEBSD9
224 nooptions       COMPAT_FREEBSD10
225
226 # arm64 supports 32-bit FreeBSD/arm binaries (armv[67] ABIs)
227 options         COMPAT_FREEBSD32        # Compatible with FreeBSD/arm