1 Descriptions of section entries:
4 M: Mail patches to: FullName <address@domain>
5 R: Designated reviewer: FullName <address@domain>
6 These reviewers should be CCed on patches.
7 L: Mailing list that is relevant to this area
8 W: Web-page with status/info
9 Q: Patchwork web based patch tracking system site
10 T: SCM tree type and location.
11 Type is one of: git, hg, quilt, stgit, topgit
12 S: Status, one of the following:
13 Supported: Someone is actually paid to look after this.
14 Maintained: Someone actually looks after it.
15 Odd Fixes: It has a maintainer but they don't have time to do
16 much other than throw the odd patch in. See below..
17 Orphan: No current maintainer [but maybe you could take the
18 role as you write your new code].
19 Obsolete: Old code. Something tagged obsolete generally means
20 it has been replaced by a better system and you
22 F: Files and directories with wildcard patterns.
23 A trailing slash includes all files and subdirectory files.
24 F: drivers/net/ all files in and below drivers/net
25 F: drivers/net/* all files in drivers/net, but not below
26 F: */net/* all files in "any top level directory"/net
27 One pattern per line. Multiple F: lines acceptable.
28 N: Files and directories with regex patterns.
29 N: [^a-z]tegra all files whose path contains the word tegra
30 One pattern per line. Multiple N: lines acceptable.
31 scripts/get_maintainer.pl has different behavior for files that
32 match F: pattern and matches of N: patterns. By default,
33 get_maintainer will not look at git log history when an F: pattern
34 match occurs. When an N: match occurs, git log history is used
35 to also notify the people that have git commit signatures.
36 X: Files and directories that are NOT maintained, same rules as F:
37 Files exclusions are tested before file matches.
38 Can be useful for excluding a specific subdirectory, for instance:
41 matches all files in and below net excluding net/ipv6/
42 K: Keyword perl extended regex pattern to match content in a
43 patch or file. For instance:
45 matches patches or files that contain "of_get_profile"
46 K: \b(printk|pr_(info|err))\b
47 matches patches or files that contain one or more of the words
48 printk, pr_info or pr_err
49 One regex pattern per line. Multiple K: lines acceptable.
51 Note: For the hard of thinking, this list is meant to remain in alphabetical
52 order. If you could add yourselves to it in alphabetical order that would be
55 Maintainers List (try to look for most precise areas first)
57 -----------------------------------
59 M: Alexey Brodkin <alexey.brodkin@synopsys.com>
60 M: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
62 L: uboot-snps-arc@synopsys.com
63 T: git git://git.denx.de/u-boot-arc.git
68 M: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
70 L: uboot-snps-arc@synopsys.com
71 F: drivers/clk/clk-hsdk-cgu.c
72 F: include/dt-bindings/clock/snps,hsdk-cgu.h
73 F: doc/device-tree-bindings/clock/snps,hsdk-cgu.txt
76 M: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
78 L: uboot-snps-arc@synopsys.com
79 F: doc/device-tree-bindings/gpio/snps,creg-gpio.txt
80 F: drivers/gpio/hsdk-creg-gpio.c
83 M: Albert Aribaud <albert.u.boot@aribaud.net>
85 T: git git://git.denx.de/u-boot-arm.git
89 M: Marek Vasut <marex@denx.de>
91 T: git git://git.denx.de/u-boot-socfpga.git
92 F: arch/arm/mach-socfpga/
94 ARM AMLOGIC SOC SUPPORT
95 M: Neil Armstrong <narmstrong@baylibre.com>
97 L: u-boot-amlogic@groups.io
98 T: git git://git.denx.de/u-boot-amlogic.git
99 F: arch/arm/mach-meson/
100 F: arch/arm/include/asm/arch-meson/
101 F: drivers/clk/clk_meson*
102 F: drivers/serial/serial_meson.c
103 F: drivers/reset/reset-meson.c
104 F: drivers/i2c/meson_i2c.c
105 F: drivers/net/phy/meson-gxl.c
106 F: drivers/adc/meson-saradc.c
107 F: drivers/phy/meson*
108 F: drivers/mmc/meson_gx_mmc.c
109 F: drivers/spi/meson_spifc.c
110 F: drivers/pinctrl/meson/
111 F: drivers/power/domain/meson-gx-pwrc-vpu.c
112 F: drivers/video/meson/
113 F: include/configs/meson64.h
117 M: Andreas Bießmann <andreas@biessmann.org>
119 T: git git://git.denx.de/u-boot-atmel.git
120 F: arch/arm/mach-at91/
123 M: Alexander Graf <agraf@suse.de>
125 F: arch/arm/mach-bcm283x/
126 F: drivers/gpio/bcm2835_gpio.c
127 F: drivers/mmc/bcm2835_sdhci.c
128 F: drivers/mmc/bcm2835_sdhost.c
129 F: drivers/serial/serial_bcm283x_mu.c
130 F: drivers/serial/serial_bcm283x_pl011.c
131 F: drivers/video/bcm2835.c
132 F: include/dm/platform_data/serial_bcm283x_mu.h
133 F: drivers/pinctrl/broadcom/
136 M: Thomas Fitzsimmons <fitzsim@fitzsim.org>
138 F: arch/arm/mach-bcmstb/
139 F: board/broadcom/bcmstb/
140 F: configs/bcm7*_defconfig
141 F: doc/README.bcm7xxx
142 F: drivers/mmc/bcmstb_sdhci.c
143 F: drivers/spi/bcmstb_spi.c
145 ARM/CZ.NIC TURRIS MOX SUPPORT
146 M: Marek Behun <marek.behun@nic.cz>
148 F: arch/arm/dts/armada-3720-turris-mox.dts
150 F: configs/turris_*_defconfig
151 F: include/configs/turris_*.h
154 M: Stefano Babic <sbabic@denx.de>
155 M: Fabio Estevam <festevam@gmail.com>
156 R: NXP i.MX U-Boot Team <uboot-imx@nxp.com>
158 T: git git://git.denx.de/u-boot-imx.git
159 F: arch/arm/cpu/arm1136/mx*/
160 F: arch/arm/cpu/arm926ejs/mx*/
161 F: arch/arm/cpu/armv7/vf610/
162 F: arch/arm/mach-imx/
163 F: arch/arm/include/asm/arch-imx/
164 F: arch/arm/include/asm/arch-mx*/
165 F: arch/arm/include/asm/arch-vf610/
166 F: arch/arm/include/asm/mach-imx/
167 F: board/freescale/*mx*/
170 M: Peter Griffin <peter.griffin@linaro.org>
172 F: arch/arm/cpu/armv8/hisilicon
173 F: arch/arm/include/asm/arch-hi6220/
175 ARM MARVELL KIRKWOOD ARMADA-XP ARMADA-38X ARMADA-37XX
176 M: Prafulla Wadaskar <prafulla@marvell.com>
177 M: Luka Perkov <luka.perkov@sartura.hr>
178 M: Stefan Roese <sr@denx.de>
180 T: git git://git.denx.de/u-boot-marvell.git
181 F: arch/arm/mach-kirkwood/
182 F: arch/arm/mach-mvebu/
183 F: drivers/ata/ahci_mvebu.c
184 F: drivers/phy/marvell/
187 M: Marek Vasut <marex@denx.de>
189 T: git git://git.denx.de/u-boot-pxa.git
191 F: arch/arm/include/asm/arch-pxa/
194 M: Ryder Lee <ryder.lee@mediatek.com>
195 M: Weijie Gao <weijie.gao@mediatek.com>
197 F: arch/arm/mach-mediatek/
198 F: arch/arm/include/asm/arch-mediatek/
200 F: doc/README.mediatek
201 F: drivers/clk/mediatek/
202 F: drivers/mmc/mtk-sd.c
203 F: drivers/pinctrl/mediatek/
204 F: drivers/power/domain/mtk-power-domain.c
205 F: drivers/ram/mediatek/
206 F: drivers/spi/mtk_qspi.c
207 F: drivers/timer/mtk_timer.c
208 F: drivers/watchdog/mtk_wdt.c
209 F: drivers/net/mtk_eth.c
210 F: drivers/reset/reset-mediatek.c
216 M: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
218 F: arch/arm/include/asm/arch-owl/
219 F: arch/arm/mach-owl/
222 F: drivers/serial/serial_owl.c
224 ARM RENESAS RMOBILE/R-CAR
225 M: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
226 M: Marek Vasut <marek.vasut+renesas@gmail.com>
228 T: git git://git.denx.de/u-boot-sh.git
229 F: arch/arm/mach-rmobile/
232 M: Simon Glass <sjg@chromium.org>
233 M: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
235 T: git git://git.denx.de/u-boot-rockchip.git
236 F: arch/arm/include/asm/arch-rockchip/
237 F: arch/arm/mach-rockchip/
239 F: drivers/clk/rockchip/
240 F: drivers/gpio/rk_gpio.c
241 F: drivers/misc/rockchip-efuse.c
242 F: drivers/mmc/rockchip_sdhci.c
243 F: drivers/mmc/rockchip_dw_mmc.c
244 F: drivers/pinctrl/rockchip/
245 F: drivers/ram/rockchip/
246 F: drivers/sysreset/sysreset_rockchip.c
247 F: drivers/video/rockchip/
255 M: Minkyu Kang <mk7.kang@samsung.com>
257 T: git git://git.denx.de/u-boot-samsung.git
258 F: arch/arm/mach-exynos/
259 F: arch/arm/mach-s5pc1xx/
260 F: arch/arm/cpu/armv7/s5p-common/
263 M: Ramon Fried <ramon.fried@gmail.com>
265 F: arch/arm/mach-snapdragon/
266 F: drivers/gpio/msm_gpio.c
267 F: drivers/mmc/msm_sdhci.c
268 F: drivers/phy/msm8916-usbh-phy.c
269 F: drivers/serial/serial_msm.c
270 F: drivers/smem/msm_smem.c
271 F: drivers/usb/host/ehci-msm.c
274 M: Patrice Chotard <patrice.chotard@st.com>
276 F: arch/arm/mach-sti/
277 F: arch/arm/include/asm/arch-sti*/
280 #M: Vipin Kumar <vipin.kumar@st.com>
281 S: Orphaned (Since 2016-02)
282 T: git git://git.denx.de/u-boot-stm.git
283 F: arch/arm/cpu/arm926ejs/spear/
284 F: arch/arm/include/asm/arch-spear/
287 M: Patrick Delaunay <patrick.delaunay@st.com>
288 M: Christophe Kerello <christophe.kerello@st.com>
289 M: Patrice Chotard <patrice.chotard@st.com>
290 L: uboot-stm32@st-md-mailman.stormreply.com (moderated for non-subscribers)
292 F: arch/arm/mach-stm32mp/
293 F: drivers/clk/clk_stm32mp1.c
294 F: drivers/i2c/stm32f7_i2c.c
295 F: drivers/misc/stm32mp_fuse.c
296 F: drivers/mmc/stm32_sdmmc2.c
297 F: drivers/phy/phy-stm32-usbphyc.c
298 F: drivers/pinctrl/pinctrl_stm32.c
299 F: drivers/power/regulator/stm32-vrefbuf.c
300 F: drivers/ram/stm32mp1/
301 F: drivers/misc/stm32_rcc.c
302 F: drivers/reset/stm32-reset.c
303 F: drivers/spi/stm32_qspi.c
306 M: Vikas Manocha <vikas.manocha@st.com>
308 F: arch/arm/cpu/armv7/stv0991/
309 F: arch/arm/include/asm/arch-stv0991/
312 M: Jagan Teki <jagan@openedev.com>
313 M: Maxime Ripard <maxime.ripard@bootlin.com>
315 T: git git://git.denx.de/u-boot-sunxi.git
316 F: arch/arm/cpu/armv7/sunxi/
317 F: arch/arm/include/asm/arch-sunxi/
318 F: arch/arm/mach-sunxi/
322 M: Tom Warren <twarren@nvidia.com>
324 T: git git://git.denx.de/u-boot-tegra.git
325 F: arch/arm/mach-tegra/
326 F: arch/arm/include/asm/arch-tegra*/
329 M: Tom Rini <trini@konsulko.com>
331 T: git git://git.denx.de/u-boot-ti.git
332 F: arch/arm/mach-davinci/
334 F: arch/arm/mach-keystone/
335 F: arch/arm/include/asm/arch-omap*/
336 F: arch/arm/include/asm/ti-common/
339 M: Masahiro Yamada <yamada.masahiro@socionext.com>
341 T: git git://git.denx.de/u-boot-uniphier.git
342 F: arch/arm/mach-uniphier/
343 F: configs/uniphier_*_defconfig
347 M: Michal Simek <michal.simek@xilinx.com>
349 T: git git://git.denx.de/u-boot-microblaze.git
350 F: arch/arm/mach-versal/
352 ARM VERSATILE EXPRESS DRIVERS
353 M: Liviu Dudau <liviu.dudau@foss.arm.com>
355 T: git git://github.com/ARM-software/u-boot.git
356 F: drivers/misc/vexpress_config.c
360 M: Michal Simek <monstr@monstr.eu>
362 T: git git://git.denx.de/u-boot-microblaze.git
363 F: arch/arm/mach-zynq/
364 F: drivers/clk/clk_zynq.c
365 F: drivers/fpga/zynqpl.c
366 F: drivers/gpio/zynq_gpio.c
367 F: drivers/i2c/i2c-cdns.c
368 F: drivers/i2c/muxes/pca954x.c
369 F: drivers/i2c/zynq_i2c.c
370 F: drivers/mmc/zynq_sdhci.c
371 F: drivers/mtd/nand/raw/zynq_nand.c
372 F: drivers/net/phy/xilinx_phy.c
373 F: drivers/net/zynq_gem.c
374 F: drivers/serial/serial_zynq.c
375 F: drivers/spi/zynq_qspi.c
376 F: drivers/spi/zynq_spi.c
377 F: drivers/usb/host/ehci-zynq.c
378 F: drivers/watchdog/cdns_wdt.c
384 M: Michal Simek <michal.simek@xilinx.com>
386 T: git git://git.denx.de/u-boot-microblaze.git
387 F: arch/arm/mach-zynqmp/
388 F: drivers/clk/clk_zynqmp.c
389 F: drivers/fpga/zynqpl.c
390 F: drivers/gpio/zynq_gpio.c
391 F: drivers/i2c/i2c-cdns.c
392 F: drivers/i2c/muxes/pca954x.c
393 F: drivers/i2c/zynq_i2c.c
394 F: drivers/mmc/zynq_sdhci.c
395 F: drivers/mtd/nand/raw/zynq_nand.c
396 F: drivers/net/phy/xilinx_phy.c
397 F: drivers/net/zynq_gem.c
398 F: drivers/serial/serial_zynq.c
399 F: drivers/spi/zynq_qspi.c
400 F: drivers/spi/zynq_spi.c
401 F: drivers/timer/cadence-ttc.c
402 F: drivers/usb/host/ehci-zynq.c
403 F: drivers/watchdog/cdns_wdt.c
404 F: include/zynqmppl.h
410 M: Michal Simek <michal.simek@xilinx.com>
412 T: git git://git.denx.de/u-boot-microblaze.git
413 F: arch/arm/mach-zynqmp-r5/
416 M: Simon Glass <sjg@chromium.org>
421 M: Simon Glass <sjg@chromium.org>
426 M: Stefan Roese <sr@denx.de>
428 T: git git://git.denx.de/u-boot-cfi-flash.git
429 F: drivers/mtd/cfi_flash.c
430 F: drivers/mtd/jedec_flash.c
433 M: Huan Wang <alison.wang@nxp.com>
434 M: Angelo Dureghello <angelo@sysam.it>
436 T: git git://git.denx.de/u-boot-coldfire.git
440 M: Lukasz Majewski <lukma@denx.de>
442 T: git git://git.denx.de/u-boot-dfu.git
444 F: drivers/usb/gadget/
447 M: Simon Glass <sjg@chromium.org>
449 T: git git://git.denx.de/u-boot-dm.git
455 M: Alexander Graf <agraf@suse.de>
456 R: Heinrich Schuchardt <xypron.glpk@gmx.de>
458 T: git git://github.com/agraf/u-boot.git
461 F: Documentation/efi.rst
462 F: include/capitalization.h
467 F: include/asm-generic/pe.h
470 F: test/py/tests/test_efi*
473 F: tools/file2include.c
476 M: Michal Simek <michal.simek@xilinx.com>
478 T: git git://git.denx.de/u-boot-microblaze.git
483 FLATTENED DEVICE TREE
484 M: Simon Glass <sjg@chromium.org>
486 T: git git://git.denx.de/u-boot-fdt.git
490 F: include/linux/libfdt*
492 F: common/fdt_support.c
495 M: Rafal Jaworowski <raj@semihalf.com>
497 T: git git://git.denx.de/u-boot-freebsd.git
500 M: York Sun <york.sun@nxp.com>
502 T: git git://git.denx.de/u-boot-fsl-qoriq.git
505 M: Heiko Schocher <hs@denx.de>
507 T: git git://git.denx.de/u-boot-i2c.git
511 M: Simon Glass <sjg@chromium.org>
513 T: git git://git.denx.de/u-boot.git
516 F: test/log/log_test.c
517 F: test/py/tests/test_log.py
519 MALI DISPLAY PROCESSORS
520 M: Liviu Dudau <liviu.dudau@foss.arm.com>
522 T: git git://github.com/ARM-software/u-boot.git
523 F: drivers/video/mali_dp.c
524 F: drivers/i2c/i2c-versatile.c
527 M: Michal Simek <monstr@monstr.eu>
529 T: git git://git.denx.de/u-boot-microblaze.git
532 F: drivers/gpio/xilinx_gpio.c
533 F: drivers/net/xilinx_axi_emac.c
534 F: drivers/net/xilinx_emaclite.c
535 F: drivers/serial/serial_xuartlite.c
536 F: drivers/spi/xilinx_spi.c
537 F: drivers/sysreset/sysreset_gpio.c
538 F: drivers/watchdog/xilinx_tb_wdt.c
542 M: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
544 T: git git://git.denx.de/u-boot-mips.git
548 M: Gregory CLEMENT <gregory.clement@bootlin.com>
549 M: Lars Povlsen <lars.povlsen@microchip.com>
550 M: Horatiu Vultur <horatiu.vultur@microchip.com>
552 F: arch/mips/mach-mscc/
553 F: arch/mips/dts/luton*
554 F: arch/mips/dts/mscc*
555 F: arch/mips/dts/ocelot*
556 F: arch/mips/dts/jr2*
557 F: arch/mips/dts/serval*
560 F: drivers/gpio/mscc_sgpio.c
561 F: drivers/spi/mscc_bb_spi.c
562 F: include/configs/vcoreiii.h
563 F: drivers/pinctrl/mscc/
564 F: drivers/net/mscc_eswitch/
567 M: Ezequiel Garcia <ezequiel@collabora.com>
569 F: arch/mips/mach-jz47xx/
572 M: Jaehoon Chung <jh80.chung@samsung.com>
574 T: git git://git.denx.de/u-boot-mmc.git
578 #M: Scott Wood <oss@buserror.net>
579 S: Orphaned (Since 2018-07)
580 T: git git://git.denx.de/u-boot-nand-flash.git
581 F: drivers/mtd/nand/raw/
584 M: Macpaul Lin <macpaul@andestech.com>
586 T: git git://git.denx.de/u-boot-nds32.git
590 M: Joe Hershberger <joe.hershberger@ni.com>
592 T: git git://git.denx.de/u-boot-net.git
597 M: Thomas Chou <thomas@wytron.com.tw>
599 T: git git://git.denx.de/u-boot-nios.git
603 #M: Lukasz Majewski <l.majewski@majess.pl>
604 S: Orphaned (Since 2017-01)
605 T: git git://git.denx.de/u-boot-onenand.git
606 F: drivers/mtd/onenand/
609 M: Simon Glass <sjg@chromium.org>
614 M: Jaehoon Chung <jh80.chung@samsung.com>
616 T: git git://git.denx.de/u-boot-pmic.git
620 M: Wolfgang Denk <wd@denx.de>
625 M: Christophe Leroy <christophe.leroy@c-s.fr>
627 T: git git://git.denx.de/u-boot-mpc8xx.git
628 F: arch/powerpc/cpu/mpc8xx/
631 M: Mario Six <mario.six@gdsys.cc>
633 T: git git://git.denx.de/u-boot-mpc83xx.git
634 F: drivers/ram/mpc83xx_sdram.c
635 F: include/dt-bindings/memory/mpc83xx-sdram.h
636 F: drivers/sysreset/sysreset_mpc83xx.c
637 F: drivers/sysreset/sysreset_mpc83xx.h
638 F: drivers/clk/mpc83xx_clk.c
639 F: drivers/clk/mpc83xx_clk.h
640 F: include/dt-bindings/clk/mpc83xx-clk.h
641 F: drivers/timer/mpc83xx_timer.c
642 F: drivers/cpu/mpc83xx_cpu.c
643 F: drivers/cpu/mpc83xx_cpu.h
644 F: drivers/misc/mpc83xx_serdes.c
645 F: arch/powerpc/cpu/mpc83xx/
646 F: arch/powerpc/include/asm/arch-mpc83xx/
649 M: York Sun <york.sun@nxp.com>
651 T: git git://git.denx.de/u-boot-mpc85xx.git
652 F: arch/powerpc/cpu/mpc85xx/
655 M: York Sun <york.sun@nxp.com>
657 T: git git://git.denx.de/u-boot-mpc86xx.git
658 F: arch/powerpc/cpu/mpc86xx/
661 M: Rick Chen <rick@andestech.com>
663 T: git git://git.denx.de/u-boot-riscv.git
665 F: tools/prelink-riscv.c
668 M: Eddie Cai <eddie.cai.linux@gmail.com>
670 F: drivers/usb/gadget/f_rockusb.c
672 F: doc/README.rockusb
675 M: Simon Glass <sjg@chromium.org>
680 M: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
682 T: git git://git.denx.de/u-boot-sh.git
686 M: Jagan Teki <jagan@openedev.com>
688 T: git git://git.denx.de/u-boot-spi.git
694 M: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
699 TDA19988 HDMI ENCODER
700 M: Liviu Dudau <liviu.dudau@foss.arm.com>
702 F: drivers/video/tda19988.c
705 M: Andrew F. Davis <afd@ti.com>
707 F: arch/arm/mach-omap2/omap5/sec_entry_cpu1.S
708 F: arch/arm/mach-omap2/sec-common.c
709 F: arch/arm/mach-omap2/config_secure.mk
710 F: configs/am335x_hs_evm_defconfig
711 F: configs/am335x_hs_evm_uart_defconfig
712 F: configs/am43xx_hs_evm_defconfig
713 F: configs/am57xx_hs_evm_defconfig
714 F: configs/dra7xx_hs_evm_defconfig
715 F: configs/k2hk_hs_evm_defconfig
716 F: configs/k2e_hs_evm_defconfig
717 F: configs/k2g_hs_evm_defconfig
718 F: configs/k2l_hs_evm_defconfig
721 #M: Martin Krause <martin.krause@tq-systems.de>
722 S: Orphaned (Since 2016-02)
723 T: git git://git.denx.de/u-boot-tq-group.git
726 M: Jens Wiklander <jens.wiklander@linaro.org>
733 M: Kyungmin Park <kmpark@infradead.org>
734 M: Heiko Schocher <hs@denx.de>
736 T: git git://git.denx.de/u-boot-ubi.git
740 M: Marek Vasut <marex@denx.de>
742 T: git git://git.denx.de/u-boot-usb.git
746 M: Bin Meng <bmeng.cn@gmail.com>
748 T: git git://git.denx.de/u-boot-usb.git topic-xhci
749 F: drivers/usb/host/xhci*
752 M: Anatolij Gustschin <agust@denx.de>
754 T: git git://git.denx.de/u-boot-video.git
761 M: Simon Glass <sjg@chromium.org>
762 M: Bin Meng <bmeng.cn@gmail.com>
764 T: git git://git.denx.de/u-boot-x86.git
768 M: Max Filippov <jcmvbkbc@gmail.com>
773 M: Tom Rini <trini@konsulko.com>
774 L: u-boot@lists.denx.de
775 Q: http://patchwork.ozlabs.org/project/uboot/list/
777 T: git git://git.denx.de/u-boot.git
778 F: configs/tools-only_defconfig