]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/arm64/conf/NOTES
MFV 354917, 354918, 354919
[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_MARVELL_8K
43 options         SOC_ROCKCHIP_RK3328
44 options         SOC_ROCKCHIP_RK3399
45 options         SOC_XILINX_ZYNQ
46
47 # Timer drivers
48 device          a10_timer
49
50 # Annapurna Alpine drivers
51 device          al_ccu                  # Alpine Cache Coherency Unit
52 device          al_nb_service           # Alpine North Bridge Service
53 device          al_iofic                # I/O Fabric Interrupt Controller
54 device          al_serdes               # Serializer/Deserializer
55 device          al_udma                 # Universal DMA
56
57 # Qualcomm Snapdragon drivers
58 device          qcom_gcc                # Global Clock Controller
59
60 # VirtIO support
61 device          virtio
62 device          virtio_pci
63 device          virtio_mmio
64 device          virtio_blk
65 device          vtnet
66
67 # CPU frequency control
68 device          cpufreq
69
70 # Bus drivers
71 device          al_pci          # Annapurna Alpine PCI-E
72 options         PCI_HP                  # PCI-Express native HotPlug
73 options         PCI_IOV         # PCI SR-IOV support
74
75 # Ethernet NICs
76 device          mdio
77 device          awg             # Allwinner EMAC Gigabit Ethernet
78 device          axgbe           # AMD Opteron A1100 integrated NIC
79 device          neta            # Marvell Armada 370/38x/XP/3700 NIC
80 device          smc             # SMSC LAN91C111
81 device          vnic            # Cavium ThunderX NIC
82 device          al_eth          # Annapurna Alpine Ethernet NIC
83 device          dwc_rk          # Rockchip Designware
84 device          dwc_socfpga     # Altera SOCFPGA Ethernet MAC
85
86 # Etherswitch devices
87 device          e6000sw         # Marvell mv88e6085 based switches
88
89 # NVM Express (NVMe) support
90 device          nvme            # base NVMe driver
91 options         NVME_USE_NVD=0  # prefer the cam(4) based nda(4) driver
92 device          nvd             # expose NVMe namespaces as disks, depends on nvme
93
94 # MMC/SD/SDIO Card slot support
95 device          sdhci_xenon             # Marvell Xenon SD/MMC controller
96 device          aw_mmc                  # Allwinner SD/MMC controller
97 device          dwmmc
98 device          dwmmc_altera
99 device          rk_emmcphy
100
101 # Serial (COM) ports
102 device          uart_msm        # Qualcomm MSM UART driver
103 device          uart_mu         # RPI3 aux port
104 device          uart_mvebu      # Armada 3700 UART driver
105 device          uart_ns8250     # ns8250-type UART driver
106 device          uart_snps
107 device          pl011
108
109 # USB support
110 device          aw_usbphy               # Allwinner USB PHY
111 device          dwcotg                  # DWC OTG controller
112 device          ehci_mv                 # Marvell EHCI USB interface
113
114 # USB ethernet support
115 device          muge
116 device          smsc
117
118 # Sound support
119 device a10_codec
120
121 # DMA controller
122 device          a31_dmac
123
124 # GPIO / PINCTRL
125 device          a37x0_gpio      # Marvell Armada 37x0 GPIO controller
126 device          aw_gpio         # Allwinner GPIO controller
127 device          fdt_pinctrl
128 device          mv_gpio         # Marvell GPIO controller
129 device          mvebu_pinctrl   # Marvell Pinmux Controller
130 device          rk_gpio         # RockChip GPIO Controller
131 device          rk_pinctrl      # RockChip Pinmux Controller
132
133 # I2C
134 device          aw_rsb          # Allwinner Reduced Serial Bus
135 device          bcm2835_bsc     # Broadcom BCM283x I2C bus
136 device          twsi            # Allwinner I2C controller
137 device          rk_i2c          # RockChip I2C controller
138
139 # Clock and reset controllers
140 device          aw_ccu          # Allwinner clock controller
141
142 # Interrupt controllers
143 device          aw_nmi          # Allwinner NMI support
144 device          mv_cp110_icu    # Marvell CP110 ICU
145 device          mv_ap806_gicp   # Marvell AP806 GICP
146
147 # Real-time clock support
148 device          aw_rtc          # Allwinner Real-time Clock
149 device          mv_rtc          # Marvell Real-time Clock
150
151 # Watchdog controllers
152 device          aw_wdog         # Allwinner Watchdog
153
154 # Power management controllers
155 device          axp81x          # X-Powers AXP81x PMIC
156 device          rk805           # RockChip RK805 PMIC
157
158 # EFUSE
159 device          aw_sid          # Allwinner Secure ID EFUSE
160
161 # Thermal sensors
162 device          aw_thermal      # Allwinner Thermal Sensor Controller
163 device          mv_thermal      # Marvell Thermal Sensor Controller
164
165 # SPI
166 device          bcm2835_spi     # Broadcom BCM283x SPI bus
167
168 # PWM
169 device          pwm
170 device          aw_pwm
171
172 device          vt_efifb
173
174 # EVDEV support
175 options         EVDEV_SUPPORT           # evdev support in legacy drivers
176 device          aw_cir
177
178 # Pseudo devices.
179 options         EFIRT           # EFI Runtime Services
180
181 # EXT_RESOURCES pseudo devices
182 options         EXT_RESOURCES
183 device          clk
184 device          phy
185 device          hwreset
186 device          nvmem
187 device          regulator
188 device          syscon
189 device          aw_syscon
190
191 # Chip-specific errata
192 options         THUNDERX_PASS_1_1_ERRATA
193
194 options         FDT
195 device          acpi
196
197 # DTBs
198 makeoptions     MODULES_EXTRA="dtb/allwinner dtb/rockchip dtb/rpi"
199
200 # Add CAMDEBUG stuff
201 options         CAMDEBUG
202 options         CAM_DEBUG_FLAGS=(CAM_DEBUG_INFO|CAM_DEBUG_PROBE|CAM_DEBUG_PERIPH)
203
204 # bring in camified MMC too
205 options         MMCCAM
206
207 # arm64 doesn't support inb/outb, so disable chipset probing which needs it
208 nooptions       PPC_PROBE_CHIPSET
209
210 # These cause weird issues, not sure why
211 nooptions       DEBUG
212
213 # Makes assumptions about bus tags that aren't true on arm64
214 nodevice        snd_cmi
215
216 # arm64 didn't exist for these releases, so doesn't have the required compat
217 # support. Just disable them because they are meaningless.
218 nooptions       COMPAT_FREEBSD4
219 nooptions       COMPAT_FREEBSD5
220 nooptions       COMPAT_FREEBSD6
221 nooptions       COMPAT_FREEBSD7
222 nooptions       COMPAT_FREEBSD9
223 nooptions       COMPAT_FREEBSD10
224
225 # arm64 supports 32-bit FreeBSD/arm binaries (armv[67] ABIs)
226 options         COMPAT_FREEBSD32        # Compatible with FreeBSD/arm