1*6b29cf33SWarner Losh# arm-specific changes for doing a LINT build. 2ef01f773SMarcel Moolenaar# $FreeBSD$ 3ef01f773SMarcel Moolenaar 4*6b29cf33SWarner Losh 5*6b29cf33SWarner Loshmachine arm armv7 6*6b29cf33SWarner Loshcpu CPU_CORTEXA 7*6b29cf33SWarner Loshcpu CPU_MV_PJ4B 8*6b29cf33SWarner Loshmakeoptions CONF_CFLAGS+="-march=armv7a" 9*6b29cf33SWarner Losh 10*6b29cf33SWarner Losh# Add options for armv7 that are not in sys/conf/NOTES... 11*6b29cf33SWarner Losh 12*6b29cf33SWarner Loshoptions ARM_L2_PIPT # Only L2 PIPT is supported 13*6b29cf33SWarner Loshoptions FDT # Flattened device tree support 14*6b29cf33SWarner Loshoptions FREEBSD_BOOT_LOADER # Process metadata passed from loader(8) 15*6b29cf33SWarner Loshoptions INTRNG # Include INTRNG framework 16*6b29cf33SWarner Loshoptions LINUX_BOOT_ABI # Process metadata passed from U-Boot 17*6b29cf33SWarner Loshoptions PLATFORM # Include platform_if support 18*6b29cf33SWarner Loshoptions SMP # Nearly all v7 SoCs are multicore 19*6b29cf33SWarner Loshoptions VFP # Enable floating point hardware support 20*6b29cf33SWarner Losh 21*6b29cf33SWarner Losh# NOTE: dtrace introduces CDDL-licensed components into the kernel 22*6b29cf33SWarner Loshdevice dtrace # dtrace core 23*6b29cf33SWarner Loshdevice dtraceall # include all dtrace modules 24*6b29cf33SWarner Loshoptions KDTRACE_HOOKS 25*6b29cf33SWarner Losh 26*6b29cf33SWarner Losh# Add misc devices which are specific to various arm platforms... 27*6b29cf33SWarner Losh 28*6b29cf33SWarner Loshdevice generic_timer # ARM Generic Timer 29*6b29cf33SWarner Loshdevice gic # Interrupt controller 30*6b29cf33SWarner Loshdevice gpio # gpio interface and bus 31*6b29cf33SWarner Loshdevice mpcore_timer # ARM MPCore Timer 32*6b29cf33SWarner Loshdevice pl310 # PL310 L2 cache controller 33*6b29cf33SWarner Loshdevice pl330 # ARM PL330 dma controller 34*6b29cf33SWarner Loshdevice pmu # PMU support (for CCNT). 35*6b29cf33SWarner Loshdevice twsi # i2c controller on Marvel and Allwinner 36*6b29cf33SWarner Loshdevice xdma # xDMA framework for SoC on-chip dma controllers 37*6b29cf33SWarner Losh 38*6b29cf33SWarner Losh# Add EXT_RESOURCES pseudo devices... 39*6b29cf33SWarner Losh 40*6b29cf33SWarner Loshoptions EXT_RESOURCES 41*6b29cf33SWarner Loshdevice clk 42*6b29cf33SWarner Loshdevice phy 43*6b29cf33SWarner Loshdevice hwreset 44*6b29cf33SWarner Loshdevice nvmem 45*6b29cf33SWarner Loshdevice regulator 46*6b29cf33SWarner Loshdevice syscon 47ef01f773SMarcel Moolenaar 485364951dSIan Lepore# Undo options from sys/conf/NOTES that we do not want... 49ef01f773SMarcel Moolenaar 50ef01f773SMarcel Moolenaarnooptions COMPAT_FREEBSD4 518ef1f44aSAndrew Turnernooptions COMPAT_FREEBSD5 528ef1f44aSAndrew Turnernooptions COMPAT_FREEBSD6 538ef1f44aSAndrew Turnernooptions COMPAT_FREEBSD7 548ef1f44aSAndrew Turnernooptions COMPAT_FREEBSD9 555364951dSIan Leporenooptions PPC_PROBE_CHIPSET 565364951dSIan Leporenooptions MAXCPU # value is set in machine/param.h 575364951dSIan Lepore 58ef01f773SMarcel Moolenaarnodevice sym 59ef01f773SMarcel Moolenaar 601ec22b44SJohn Baldwinnodevice ccr 61ca7fe84aSNavdeep Parharnodevice cxgbe 626af45170SJohn Baldwinnodevice cxgbev 63ef01f773SMarcel Moolenaarnodevice snd_cmi 644f4d15f0SRuslan Bukin 65f7ab0158SWarner Loshnodevice mpr 66f7ab0158SWarner Loshnodevice mps 675364951dSIan Lepore 68*6b29cf33SWarner Losh# Build SOC-specific modules... 695364951dSIan Lepore 70*6b29cf33SWarner Loshmakeoptions MODULES_EXTRA+="allwinner" 71*6b29cf33SWarner Loshmakeoptions MODULES_EXTRA+="arm_ti" 72*6b29cf33SWarner Loshmakeoptions MODULES_EXTRA+="imx" 73fce985b0SIan Lepore 74*6b29cf33SWarner Losh# Build dtb files... 75fce985b0SIan Lepore 76*6b29cf33SWarner Loshmakeoptions MODULES_EXTRA+="dtb/allwinner" 77*6b29cf33SWarner Loshmakeoptions MODULES_EXTRA+="dtb/am335x" 78*6b29cf33SWarner Loshmakeoptions MODULES_EXTRA+="dtb/imx6" 79*6b29cf33SWarner Loshmakeoptions MODULES_EXTRA+="dtb/nvidia" 80*6b29cf33SWarner Loshmakeoptions MODULES_EXTRA+="dtb/omap4" 81*6b29cf33SWarner Loshmakeoptions MODULES_EXTRA+="dtb/rpi" 82*6b29cf33SWarner Loshmakeoptions MODULES_EXTRA+="dtb/zynq" 83