xref: /openbmc/linux/drivers/of/Kconfig (revision af6074fc)
1af6074fcSRob Herring# SPDX-License-Identifier: GPL-2.0
25ab5fc7eSGrant Likelyconfig DTC
35ab5fc7eSGrant Likely	bool
45ab5fc7eSGrant Likely
50166dc11SRob Herringmenuconfig OF
60166dc11SRob Herring	bool "Device Tree and Open Firmware support"
70166dc11SRob Herring	help
80166dc11SRob Herring	  This option enables the device tree infrastructure.
90166dc11SRob Herring	  It is automatically selected by platforms that need it or can
100166dc11SRob Herring	  be enabled manually for unittests, overlays or
110166dc11SRob Herring	  compile-coverage.
12bcbefae2SStephen Rothwell
130166dc11SRob Herringif OF
145ab5fc7eSGrant Likely
1519fd7487SGrant Likelyconfig OF_UNITTEST
1619fd7487SGrant Likely	bool "Device Tree runtime unit tests"
176019a3d0SRob Herring	depends on !SPARC
186019a3d0SRob Herring	select IRQ_DOMAIN
19649e0a77SRob Herring	select OF_EARLY_FLATTREE
202eb46da2SGrant Likely	select OF_RESOLVE
2153a42093SGrant Likely	help
2253a42093SGrant Likely	  This option builds in test cases for the device tree infrastructure
235d927086SGeert Uytterhoeven	  that are executed once at boot time, and the results dumped to the
2453a42093SGrant Likely	  console.
2553a42093SGrant Likely
2653a42093SGrant Likely	  If unsure, say N here, but this option is safe to enable.
2753a42093SGrant Likely
281b7c501bSRob Herringconfig OF_ALL_DTBS
291b7c501bSRob Herring	bool "Build all Device Tree Blobs"
301b7c501bSRob Herring	depends on COMPILE_TEST
311b7c501bSRob Herring	select DTC
321b7c501bSRob Herring	help
331b7c501bSRob Herring	  This option builds all possible Device Tree Blobs (DTBs) for the
341b7c501bSRob Herring	  current architecture.
351b7c501bSRob Herring
361b7c501bSRob Herring	  If unsure, say N here, but this option is safe to enable.
371b7c501bSRob Herring
38e169cfbeSGrant Likelyconfig OF_FLATTREE
39e169cfbeSGrant Likely	bool
405ab5fc7eSGrant Likely	select DTC
41e6a6928cSRob Herring	select LIBFDT
4208d53aa5SArd Biesheuvel	select CRC32
43e169cfbeSGrant Likely
44e6ce1324SStephen Neuendorfferconfig OF_EARLY_FLATTREE
45e6ce1324SStephen Neuendorffer	bool
46e6ce1324SStephen Neuendorffer	select OF_FLATTREE
47e6ce1324SStephen Neuendorffer
483cfc535cSAndres Salomonconfig OF_PROMTREE
493cfc535cSAndres Salomon	bool
503cfc535cSAndres Salomon
51b56b5528SRob Herringconfig OF_KOBJ
52b56b5528SRob Herring	def_bool SYSFS
53b56b5528SRob Herring
540f22dd39SGrant Likely# Hardly any platforms need this.  It is safe to select, but only do so if you
550f22dd39SGrant Likely# need it.
56fcdeb7feSGrant Likelyconfig OF_DYNAMIC
57121c92caSGeert Uytterhoeven	bool "Support for dynamic device trees" if OF_UNITTEST
58b56b5528SRob Herring	select OF_KOBJ
59121c92caSGeert Uytterhoeven	help
60121c92caSGeert Uytterhoeven	  On some platforms, the device tree can be manipulated at runtime.
61121c92caSGeert Uytterhoeven	  While this option is selected automatically on such platforms, you
62121c92caSGeert Uytterhoeven	  can enable it manually to improve device tree unit test coverage.
63fcdeb7feSGrant Likely
646b884a8dSGrant Likelyconfig OF_ADDRESS
656b884a8dSGrant Likely	def_bool y
666019a3d0SRob Herring	depends on !SPARC && (HAS_IOMEM || UML)
6725a31579SGregory CLEMENT	select OF_ADDRESS_PCI if PCI
6825a31579SGregory CLEMENT
6925a31579SGregory CLEMENTconfig OF_ADDRESS_PCI
7025a31579SGregory CLEMENT	bool
716b884a8dSGrant Likely
72e3873444SGrant Likelyconfig OF_IRQ
73e3873444SGrant Likely	def_bool y
7463c60e3aSGeert Uytterhoeven	depends on !SPARC && IRQ_DOMAIN
75e3873444SGrant Likely
764b6ba8aaSDavid Daneyconfig OF_NET
774b6ba8aaSDavid Daney	depends on NETDEVICES
784b6ba8aaSDavid Daney	def_bool y
794b6ba8aaSDavid Daney
808bc487d1SGrant Likelyconfig OF_MDIO
818bc487d1SGrant Likely	def_tristate PHYLIB
825ab5fc7eSGrant Likely	depends on PHYLIB
83a5e4bd99SArnd Bergmann	select FIXED_PHY
848bc487d1SGrant Likely	help
858bc487d1SGrant Likely	  OpenFirmware MDIO bus (Ethernet PHY) accessors
865ab5fc7eSGrant Likely
8704bea68bSSebastian Andrzej Siewiorconfig OF_PCI
8804bea68bSSebastian Andrzej Siewior	def_tristate PCI
8998d9f30cSBenjamin Herrenschmidt	depends on PCI
9004bea68bSSebastian Andrzej Siewior	help
9104bea68bSSebastian Andrzej Siewior	  OpenFirmware PCI bus accessors
9204bea68bSSebastian Andrzej Siewior
9398d9f30cSBenjamin Herrenschmidtconfig OF_PCI_IRQ
9498d9f30cSBenjamin Herrenschmidt	def_tristate PCI
9598d9f30cSBenjamin Herrenschmidt	depends on OF_PCI && OF_IRQ
9698d9f30cSBenjamin Herrenschmidt	help
9798d9f30cSBenjamin Herrenschmidt	  OpenFirmware PCI IRQ routing helpers
9898d9f30cSBenjamin Herrenschmidt
993f0c8206SMarek Szyprowskiconfig OF_RESERVED_MEM
1003f0c8206SMarek Szyprowski	depends on OF_EARLY_FLATTREE
1013f0c8206SMarek Szyprowski	bool
1023f0c8206SMarek Szyprowski	help
1033f0c8206SMarek Szyprowski	  Helpers to allow for reservation of memory regions
1043f0c8206SMarek Szyprowski
1057941b27bSPantelis Antoniouconfig OF_RESOLVE
1067941b27bSPantelis Antoniou	bool
1077941b27bSPantelis Antoniou
1087518b589SPantelis Antoniouconfig OF_OVERLAY
1095c776064SMatwey V. Kornilov	bool "Device Tree overlays"
1107518b589SPantelis Antoniou	select OF_DYNAMIC
1117518b589SPantelis Antoniou	select OF_RESOLVE
112121c92caSGeert Uytterhoeven	help
113121c92caSGeert Uytterhoeven	  Overlays are a method to dynamically modify part of the kernel's
114121c92caSGeert Uytterhoeven	  device tree with dynamically loaded data.
115121c92caSGeert Uytterhoeven	  While this option is selected automatically when needed, you can
116121c92caSGeert Uytterhoeven	  enable it manually to improve device tree unit test coverage.
1177518b589SPantelis Antoniou
118298535c0SDavid Daneyconfig OF_NUMA
119298535c0SDavid Daney	bool
120298535c0SDavid Daney
1210166dc11SRob Herringendif # OF
122