mb/*: Replace SNB PCI devices with references from chipset.cb

Removing default on/off from mainboard devicetrees is left as a follow-up.

Change-Id: I74c34a97ea4340fb11a0db422a48e1418221627e
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/69502
Reviewed-by: Jakub Czapiga <jacz@semihalf.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
diff --git a/src/mainboard/lenovo/l520/devicetree.cb b/src/mainboard/lenovo/l520/devicetree.cb
index 9e56e79..ca16094 100644
--- a/src/mainboard/lenovo/l520/devicetree.cb
+++ b/src/mainboard/lenovo/l520/devicetree.cb
@@ -15,9 +15,9 @@
 	device domain 0 on
 		subsystemid 0x17aa 0x21dd inherit
 
-		device pci 00.0 on end # Host bridge
-		device pci 01.0 on end # PCIe Bridge for discrete graphics
-		device pci 02.0 on end # Internal graphics VGA controller
+		device ref host_bridge on end # Host bridge
+		device ref peg10 on end # PCIe Bridge for discrete graphics
+		device ref igd on end # Internal graphics VGA controller
 
 		chip southbridge/intel/bd82x6x # Intel Series 6 Cougar Point PCH
 			register "docking_supported" = "1"
@@ -35,24 +35,24 @@
 			register "spi_uvscc" = "0"
 			register "spi_lvscc" = "0x2005"
 
-			device pci 16.0 on end # Management Engine Interface 1
-			device pci 16.1 off end # Management Engine Interface 2
-			device pci 16.2 off end # Management Engine IDE-R
-			device pci 16.3 off end # Management Engine KT
-			device pci 19.0 off end # Intel Gigabit Ethernet
-			device pci 1a.0 on end # USB2 EHCI #2
-			device pci 1b.0 on end # High Definition Audio Audio controller
-			device pci 1c.0 on end # PCIe Port #1
-			device pci 1c.1 on end # PCIe Port #2
-			device pci 1c.2 on end # PCIe Port #3
-			device pci 1c.3 on end # PCIe Port #4
-			device pci 1c.4 on end # PCIe Port #5
-			device pci 1c.5 on end # PCIe Port #6
-			device pci 1c.6 off end # PCIe Port #7
-			device pci 1c.7 off end # PCIe Port #8
-			device pci 1d.0 on end # USB2 EHCI #1
-			device pci 1e.0 off end # PCI bridge
-			device pci 1f.0 on # LPC bridge PCI-LPC bridge
+			device ref mei1 on end # Management Engine Interface 1
+			device ref mei2 off end # Management Engine Interface 2
+			device ref me_ide_r off end # Management Engine IDE-R
+			device ref me_kt off end # Management Engine KT
+			device ref gbe off end # Intel Gigabit Ethernet
+			device ref ehci2 on end # USB2 EHCI #2
+			device ref hda on end # High Definition Audio Audio controller
+			device ref pcie_rp1 on end # PCIe Port #1
+			device ref pcie_rp2 on end # PCIe Port #2
+			device ref pcie_rp3 on end # PCIe Port #3
+			device ref pcie_rp4 on end # PCIe Port #4
+			device ref pcie_rp5 on end # PCIe Port #5
+			device ref pcie_rp6 on end # PCIe Port #6
+			device ref pcie_rp7 off end # PCIe Port #7
+			device ref pcie_rp8 off end # PCIe Port #8
+			device ref ehci1 on end # USB2 EHCI #1
+			device ref pci_bridge off end # PCI bridge
+			device ref lpc on # LPC bridge PCI-LPC bridge
 				chip ec/lenovo/pmh7
 					register "backlight_enable" = "0x01"
 					register "dock_event_enable" = "0x01"
@@ -89,8 +89,8 @@
 					end
 				end
 			end # LPC bridge
-			device pci 1f.2 on end # SATA Controller 1
-			device pci 1f.3 on # SMBus
+			device ref sata1 on end # SATA Controller 1
+			device ref smbus on # SMBus
 				chip drivers/i2c/at24rf08c # eeprom, 8 virtual devices, same chip
 					device i2c 54 on end
 					device i2c 55 on end
@@ -102,8 +102,8 @@
 					device i2c 5f on end
 				end
 			end # SMBus
-			device pci 1f.5 off end # SATA Controller 2
-			device pci 1f.6 off end # Thermal
+			device ref sata2 off end # SATA Controller 2
+			device ref thermal off end # Thermal
 		end
 	end
 end
diff --git a/src/mainboard/lenovo/s230u/devicetree.cb b/src/mainboard/lenovo/s230u/devicetree.cb
index 16e1004..f105424 100644
--- a/src/mainboard/lenovo/s230u/devicetree.cb
+++ b/src/mainboard/lenovo/s230u/devicetree.cb
@@ -15,9 +15,9 @@
 	device domain 0 on
 		subsystemid 0x17aa 0x2205 inherit
 
-		device pci 00.0 on end # Host bridge Host bridge
-		device pci 01.0 off end # PCIe Bridge for discrete graphics
-		device pci 02.0 on end # Internal graphics VGA controller
+		device ref host_bridge on end # Host bridge Host bridge
+		device ref peg10 off end # PCIe Bridge for discrete graphics
+		device ref igd on end # Internal graphics VGA controller
 
 		chip southbridge/intel/bd82x6x # Intel Series 6 Cougar Point PCH
 			register "docking_supported" = "1"
@@ -38,31 +38,31 @@
 			register "spi_uvscc" = "0x2005"
 			register "spi_lvscc" = "0x2005"
 
-			device pci 14.0 on end # USB 3.0 Controller
-			device pci 16.0 on end # Management Engine Interface 1
-			device pci 16.1 off end # Management Engine Interface 2
-			device pci 16.2 off end # Management Engine IDE-R
-			device pci 16.3 off end # Management Engine KT
-			device pci 19.0 off end # Intel Gigabit Ethernet
-			device pci 1a.0 on end # USB2 EHCI #2
-			device pci 1b.0 on end # High Definition Audio Audio controller
-			device pci 1c.0 on end # PCIe Port #1
-			device pci 1c.1 on end # PCIe Port #2
-			device pci 1c.2 off end # PCIe Port #3
-			device pci 1c.3 on end # PCIe Port #4
-			device pci 1c.4 off end # PCIe Port #5
-			device pci 1c.5 off end # PCIe Port #6
-			device pci 1c.6 off end # PCIe Port #7
-			device pci 1c.7 off end # PCIe Port #8
-			device pci 1d.0 on end # USB2 EHCI #1
-			device pci 1e.0 off end # PCI bridge
-			device pci 1f.0 on # LPC bridge PCI-LPC bridge
+			device ref xhci on end # USB 3.0 Controller
+			device ref mei1 on end # Management Engine Interface 1
+			device ref mei2 off end # Management Engine Interface 2
+			device ref me_ide_r off end # Management Engine IDE-R
+			device ref me_kt off end # Management Engine KT
+			device ref gbe off end # Intel Gigabit Ethernet
+			device ref ehci2 on end # USB2 EHCI #2
+			device ref hda on end # High Definition Audio Audio controller
+			device ref pcie_rp1 on end # PCIe Port #1
+			device ref pcie_rp2 on end # PCIe Port #2
+			device ref pcie_rp3 off end # PCIe Port #3
+			device ref pcie_rp4 on end # PCIe Port #4
+			device ref pcie_rp5 off end # PCIe Port #5
+			device ref pcie_rp6 off end # PCIe Port #6
+			device ref pcie_rp7 off end # PCIe Port #7
+			device ref pcie_rp8 off end # PCIe Port #8
+			device ref ehci1 on end # USB2 EHCI #1
+			device ref pci_bridge off end # PCI bridge
+			device ref lpc on # LPC bridge PCI-LPC bridge
 				chip drivers/pc80/tpm
 					device pnp 0c31.0 on end
 				end
 			end
-			device pci 1f.2 on end # SATA Controller 1
-			device pci 1f.3 on # SMBus
+			device ref sata1 on end # SATA Controller 1
+			device ref smbus on # SMBus
 				chip drivers/i2c/at24rf08c # eeprom, 8 virtual devices, same chip
 					device i2c 54 on end
 					device i2c 55 on end
@@ -74,8 +74,8 @@
 					device i2c 5f on end
 				end
 			end
-			device pci 1f.5 off end # SATA Controller 2
-			device pci 1f.6 off end # Thermal
+			device ref sata2 off end # SATA Controller 2
+			device ref thermal off end # Thermal
 		end
 	end
 end
diff --git a/src/mainboard/lenovo/t420/devicetree.cb b/src/mainboard/lenovo/t420/devicetree.cb
index b764a83..33070eb 100644
--- a/src/mainboard/lenovo/t420/devicetree.cb
+++ b/src/mainboard/lenovo/t420/devicetree.cb
@@ -18,9 +18,9 @@
 	device domain 0 on
 		subsystemid 0x17aa 0x21ce inherit
 
-		device pci 00.0 on end # host bridge
-		device pci 01.0 on end # PCIe Bridge for discrete graphics
-		device pci 02.0 on end # Integrated Graphics Controller
+		device ref host_bridge on end # host bridge
+		device ref peg10 on end # PCIe Bridge for discrete graphics
+		device ref igd on end # Integrated Graphics Controller
 
 		chip southbridge/intel/bd82x6x # Intel Series 6 Cougar Point PCH
 			# GPI routing
@@ -49,32 +49,32 @@
 			register "spi_uvscc" = "0x2005"
 			register "spi_lvscc" = "0x2005"
 
-			device pci 16.0 on  end # Management Engine Interface 1
-			device pci 16.1 off end # Management Engine Interface 2
-			device pci 16.2 off end # Management Engine IDE-R
-			device pci 16.3 off end # Management Engine KT
-			device pci 19.0 on end # Intel Gigabit Ethernet
-			device pci 1a.0 on end # USB Enhanced Host Controller #2
-			device pci 1b.0 on end # High Definition Audio Controller
-			device pci 1c.0 off end # PCIe Port #1
-			device pci 1c.1 on end # PCIe Port #2 Integrated Wireless LAN
-			device pci 1c.2 off end # PCIe Port #3
-			device pci 1c.3 on
+			device ref mei1 on  end # Management Engine Interface 1
+			device ref mei2 off end # Management Engine Interface 2
+			device ref me_ide_r off end # Management Engine IDE-R
+			device ref me_kt off end # Management Engine KT
+			device ref gbe on end # Intel Gigabit Ethernet
+			device ref ehci2 on end # USB Enhanced Host Controller #2
+			device ref hda on end # High Definition Audio Controller
+			device ref pcie_rp1 off end # PCIe Port #1
+			device ref pcie_rp2 on end # PCIe Port #2 Integrated Wireless LAN
+			device ref pcie_rp3 off end # PCIe Port #3
+			device ref pcie_rp4 on
 				smbios_slot_desc "7" "3" "ExpressCard Slot" "8"
 			end # PCIe Port #4 ExpressCard
-			device pci 1c.4 on
+			device ref pcie_rp5 on
 				chip drivers/ricoh/rce822
 					register "sdwppol" = "1"
 					register "disable_mask" = "0x87"
 					device pci 00.0 on end
 				end
 			end # PCIe Port #5 (Ricoh SD & FW)
-			device pci 1c.5 off end # PCIe Port #6 Intel Gigabit Ethernet PHY (not PCIe)
-			device pci 1c.6 off end # PCIe Port #7
-			device pci 1c.7 off end # PCIe Port #8
-			device pci 1d.0 on end # USB Enhanced Host Controller #1
-			device pci 1e.0 off end # PCI bridge
-			device pci 1f.0 on
+			device ref pcie_rp6 off end # PCIe Port #6 Intel Gigabit Ethernet PHY (not PCIe)
+			device ref pcie_rp7 off end # PCIe Port #7
+			device ref pcie_rp8 off end # PCIe Port #8
+			device ref ehci1 on end # USB Enhanced Host Controller #1
+			device ref pci_bridge off end # PCI bridge
+			device ref lpc on
 				chip ec/lenovo/pmh7
 					device pnp ff.1 on end # dummy
 					register "backlight_enable" = "0x01"
@@ -136,8 +136,8 @@
 					register "has_thinker1" = "1"
 				end
 			end # LPC Controller
-			device pci 1f.2 on end # 6 port SATA AHCI Controller
-			device pci 1f.3 on
+			device ref sata1 on end # 6 port SATA AHCI Controller
+			device ref smbus on
 				# eeprom, 8 virtual devices, same chip
 				chip drivers/i2c/at24rf08c
 					device i2c 54 on end
@@ -150,8 +150,8 @@
 					device i2c 5f on end
 				end
 			end # SMBus Controller
-			device pci 1f.5 off end # SATA Controller 2
-			device pci 1f.6 on end # Thermal
+			device ref sata2 off end # SATA Controller 2
+			device ref thermal on end # Thermal
 		end
 	end
 end
diff --git a/src/mainboard/lenovo/t420s/devicetree.cb b/src/mainboard/lenovo/t420s/devicetree.cb
index 92c9085..b5576b2 100644
--- a/src/mainboard/lenovo/t420s/devicetree.cb
+++ b/src/mainboard/lenovo/t420s/devicetree.cb
@@ -18,9 +18,9 @@
 	device domain 0 on
 		subsystemid 0x17aa 0x21d2 inherit
 
-		device pci 00.0 on end # host bridge
-		device pci 01.0 on end # NVIDIA Corporation GF119M [NVS 4200M]
-		device pci 02.0 on
+		device ref host_bridge on end # host bridge
+		device ref peg10 on end # NVIDIA Copcie_rporation GF119M [NVS 4200M]
+		device ref igd on
 			subsystemid 0x17aa 0x21d3
 		end # Integrated Graphics Controller
 
@@ -51,28 +51,28 @@
 			register "spi_uvscc" = "0x2005"
 			register "spi_lvscc" = "0x2005"
 
-			device pci 16.0 on  end # Management Engine Interface 1
-			device pci 16.1 off end # Management Engine Interface 2
-			device pci 16.2 off end # Management Engine IDE-R
-			device pci 16.3 off end # Management Engine KT
-			device pci 19.0 on
+			device ref mei1 on  end # Management Engine Interface 1
+			device ref mei2 off end # Management Engine Interface 2
+			device ref me_ide_r off end # Management Engine IDE-R
+			device ref me_kt off end # Management Engine KT
+			device ref gbe on
 				subsystemid 0x17aa 0x21ce
 			end # Intel Gigabit Ethernet
-			device pci 1a.0 on end # USB Enhanced Host Controller #2
-			device pci 1b.0 on end # High Definition Audio Controller
-			device pci 1c.0 off end # PCIe Port #1
-			device pci 1c.1 on end # PCIe Port #2 Integrated Wireless LAN
-			device pci 1c.2 off end # PCIe Port #3
-			device pci 1c.3 on
+			device ref ehci2 on end # USB Enhanced Host Controller #2
+			device ref hda on end # High Definition Audio Controller
+			device ref pcie_rp1 off end # PCIe Port #1
+			device ref pcie_rp2 on end # PCIe Port #2 Integrated Wireless LAN
+			device ref pcie_rp3 off end # PCIe Port #3
+			device ref pcie_rp4 on
 				smbios_slot_desc "7" "3" "ExpressCard Slot" "8"
 			end # PCIe Port #4 ExpressCard
-			device pci 1c.4 on end # PCIe Port #5 NEC Corporation uPD720200A USB 3.0 Host Controller
-			device pci 1c.5 off end # PCIe Port #6 Intel Gigabit Ethernet PHY (not PCIe)
-			device pci 1c.6 off end # PCIe Port #7
-			device pci 1c.7 off end # PCIe Port #8
-			device pci 1d.0 on end # USB Enhanced Host Controller #1
-			device pci 1e.0 off end # PCI bridge
-			device pci 1f.0 on
+			device ref pcie_rp5 on end # PCIe Port #5 NEC Corporation uPD720200A USB 3.0 Host Controller
+			device ref pcie_rp6 off end # PCIe Port #6 Intel Gigabit Ethernet PHY (not PCIe)
+			device ref pcie_rp7 off end # PCIe Port #7
+			device ref pcie_rp8 off end # PCIe Port #8
+			device ref ehci1 on end # USB Enhanced Host Controller #1
+			device ref pci_bridge off end # PCI bridge
+			device ref lpc on
 				chip ec/lenovo/pmh7
 					device pnp ff.1 on end # dummy
 					register "backlight_enable" = "0x01"
@@ -134,8 +134,8 @@
 					register "has_thinker1" = "1"
 				end
 			end # LPC Controller
-			device pci 1f.2 on end # 6 port SATA AHCI Controller
-			device pci 1f.3 on
+			device ref sata1 on end # 6 port SATA AHCI Controller
+			device ref smbus on
 				# eeprom, 8 virtual devices, same chip
 				chip drivers/i2c/at24rf08c
 					device i2c 54 on end
@@ -148,8 +148,8 @@
 					device i2c 5f on end
 				end
 			end # SMBus Controller
-			device pci 1f.5 off end # SATA Controller 2
-			device pci 1f.6 on end # Thermal
+			device ref sata2 off end # SATA Controller 2
+			device ref thermal on end # Thermal
 		end
 	end
 end
diff --git a/src/mainboard/lenovo/t430/devicetree.cb b/src/mainboard/lenovo/t430/devicetree.cb
index 8b15c84..bcffdaa 100644
--- a/src/mainboard/lenovo/t430/devicetree.cb
+++ b/src/mainboard/lenovo/t430/devicetree.cb
@@ -36,33 +36,33 @@
 			register "spi_uvscc" = "0x2005"
 			register "spi_lvscc" = "0x2005"
 
-			device pci 14.0 on end # USB 3.0 Controller
-			device pci 16.0 on end # Management Engine Interface 1
-			device pci 16.1 off end # Management Engine Interface 2
-			device pci 16.2 off end # Management Engine IDE-R
-			device pci 16.3 off end # Management Engine KT
-			device pci 19.0 on end # Intel Gigabit Ethernet
-			device pci 1a.0 on end # USB2 EHCI #2
-			device pci 1b.0 on end # High Definition Audio Audio controller
-			device pci 1c.0 on # PCIe Port #1
+			device ref xhci on end # USB 3.0 Controller
+			device ref mei1 on end # Management Engine Interface 1
+			device ref mei2 off end # Management Engine Interface 2
+			device ref me_ide_r off end # Management Engine IDE-R
+			device ref me_kt off end # Management Engine KT
+			device ref gbe on end # Intel Gigabit Ethernet
+			device ref ehci2 on end # USB2 EHCI #2
+			device ref hda on end # High Definition Audio Audio controller
+			device ref pcie_rp1 on # PCIe Port #1
 				chip drivers/ricoh/rce822 # Ricoh cardreader
 					register "disable_mask" = "0x87"
 					register "sdwppol" = "1"
 					device pci 00.0 on end # Ricoh SD card reader
 				end
 			end
-			device pci 1c.1 on end # PCIe Port #2
-			device pci 1c.2 on # PCIe Port #3
+			device ref pcie_rp2 on end # PCIe Port #2
+			device ref pcie_rp3 on # PCIe Port #3
 				smbios_slot_desc "7" "3" "ExpressCard Slot" "8"
 			end
-			device pci 1c.3 off end # PCIe Port #4
-			device pci 1c.4 off end # PCIe Port #5
-			device pci 1c.5 off end # PCIe Port #6
-			device pci 1c.6 off end # PCIe Port #7
-			device pci 1c.7 off end # PCIe Port #8
-			device pci 1d.0 on end # USB2 EHCI #1
-			device pci 1e.0 off end # PCI bridge
-			device pci 1f.0 on # LPC bridge PCI-LPC bridge
+			device ref pcie_rp4 off end # PCIe Port #4
+			device ref pcie_rp5 off end # PCIe Port #5
+			device ref pcie_rp6 off end # PCIe Port #6
+			device ref pcie_rp7 off end # PCIe Port #7
+			device ref pcie_rp8 off end # PCIe Port #8
+			device ref ehci1 on end # USB2 EHCI #1
+			device ref pci_bridge off end # PCI bridge
+			device ref lpc on # LPC bridge PCI-LPC bridge
 				chip ec/lenovo/pmh7
 					register "backlight_enable" = "0x01"
 					register "dock_event_enable" = "0x01"
@@ -125,8 +125,8 @@
 					device pnp 0c31.0 on end
 				end
 			end
-			device pci 1f.2 on end # SATA Controller 1
-			device pci 1f.3 on # SMBus
+			device ref sata1 on end # SATA Controller 1
+			device ref smbus on # SMBus
 				chip drivers/i2c/at24rf08c # eeprom, 8 virtual devices, same chip
 					device i2c 54 on end
 					device i2c 55 on end
@@ -138,12 +138,12 @@
 					device i2c 5f on end
 				end
 			end
-			device pci 1f.5 off end # SATA Controller 2
-			device pci 1f.6 off end # Thermal
+			device ref sata2 off end # SATA Controller 2
+			device ref thermal off end # Thermal
 		end
-		device pci 00.0 on end # Host bridge Host bridge
-		device pci 01.0 on end # PCIe Bridge for discrete graphics
-		device pci 02.0 on end # Internal graphics VGA controller
-		device pci 04.0 off end # Signal processing controller
+		device ref host_bridge on end # Host bridge Host bridge
+		device ref peg10 on end # PCIe Bridge for discrete graphics
+		device ref igd on end # Internal graphics VGA controller
+		device ref dev4 off end # Signal processing controller
 	end
 end
diff --git a/src/mainboard/lenovo/t430s/devicetree.cb b/src/mainboard/lenovo/t430s/devicetree.cb
index 9148892..175a5c8 100644
--- a/src/mainboard/lenovo/t430s/devicetree.cb
+++ b/src/mainboard/lenovo/t430s/devicetree.cb
@@ -17,9 +17,9 @@
 	device domain 0 on
 		subsystemid 0x17aa 0x21fb inherit
 
-		device pci 00.0 on end # host bridge
-		device pci 01.0 on end # PCIe Bridge for discrete graphics
-		device pci 02.0 on end # Integrated Graphics Controller
+		device ref host_bridge on end # host bridge
+		device ref peg10 on end # PCIe Bridge for discrete graphics
+		device ref igd on end # Integrated Graphics Controller
 
 		chip southbridge/intel/bd82x6x # Intel Series 7 Panther Point PCH
 			# GPI routing
@@ -52,29 +52,29 @@
 			register "spi_uvscc" = "0x2005"
 			register "spi_lvscc" = "0x2005"
 
-			device pci 14.0 on end # USB 3.0 Controller
-			device pci 16.0 on end # Management Engine Interface 1
-			device pci 16.1 off end # Management Engine Interface 2
-			device pci 16.2 off end # Management Engine IDE-R
-			device pci 16.3 off end # Management Engine KT
-			device pci 19.0 on
+			device ref xhci on end # USB 3.0 Controller
+			device ref mei1 on end # Management Engine Interface 1
+			device ref mei2 off end # Management Engine Interface 2
+			device ref me_ide_r off end # Management Engine IDE-R
+			device ref me_kt off end # Management Engine KT
+			device ref gbe on
 				subsystemid 0x17aa 0x21f3
 			end # Intel Gigabit Ethernet
-			device pci 1a.0 on end # USB Enhanced Host Controller #2
-			device pci 1b.0 on end # High Definition Audio Controller
-			device pci 1c.0 off end # PCIe Port #1
-			device pci 1c.1 on end # PCIe Port #2 Integrated Wireless LAN
-			device pci 1c.2 on
+			device ref ehci2 on end # USB Enhanced Host Controller #2
+			device ref hda on end # High Definition Audio Controller
+			device ref pcie_rp1 off end # PCIe Port #1
+			device ref pcie_rp2 on end # PCIe Port #2 Integrated Wireless LAN
+			device ref pcie_rp3 on
 				smbios_slot_desc "7" "3" "ExpressCard Slot" "8"
 			end # PCIe Port #3 ExpressCard
-			device pci 1c.3 off end # PCIe Port #4
-			device pci 1c.4 off end # PCIe Port #5
-			device pci 1c.5 off end # PCIe Port #6 Intel Gigabit Ethernet PHY (not PCIe)
-			device pci 1c.6 off end # PCIe Port #7
-			device pci 1c.7 off end # PCIe Port #8
-			device pci 1d.0 on end # USB Enhanced Host Controller #1
-			device pci 1e.0 off end # PCI bridge
-			device pci 1f.0 on
+			device ref pcie_rp4 off end # PCIe Port #4
+			device ref pcie_rp5 off end # PCIe Port #5
+			device ref pcie_rp6 off end # PCIe Port #6 Intel Gigabit Ethernet PHY (not PCIe)
+			device ref pcie_rp7 off end # PCIe Port #7
+			device ref pcie_rp8 off end # PCIe Port #8
+			device ref ehci1 on end # USB Enhanced Host Controller #1
+			device ref pci_bridge off end # PCI bridge
+			device ref lpc on
 				chip ec/lenovo/pmh7
 					device pnp ff.1 on end # dummy
 					register "backlight_enable" = "0x01"
@@ -118,8 +118,8 @@
 					register "evente_enable" = "0x0d"
 				end
 			end # LPC Controller
-			device pci 1f.2 on end # 6 port SATA AHCI Controller
-			device pci 1f.3 on
+			device ref sata1 on end # 6 port SATA AHCI Controller
+			device ref smbus on
 				# eeprom, 8 virtual devices, same chip
 				chip drivers/i2c/at24rf08c
 					device i2c 54 on end
@@ -132,8 +132,8 @@
 					device i2c 5f on end
 				end
 			end # SMBus Controller
-			device pci 1f.5 off end # SATA Controller 2
-			device pci 1f.6 on end # Thermal
+			device ref sata2 off end # SATA Controller 2
+			device ref thermal on end # Thermal
 		end
 	end
 end
diff --git a/src/mainboard/lenovo/t520/devicetree.cb b/src/mainboard/lenovo/t520/devicetree.cb
index 55c8d98..7ef12ba2 100644
--- a/src/mainboard/lenovo/t520/devicetree.cb
+++ b/src/mainboard/lenovo/t520/devicetree.cb
@@ -18,9 +18,9 @@
 	device domain 0 on
 		subsystemid 0x17aa 0x21cf inherit
 
-		device pci 00.0 on end # host bridge
-		device pci 01.0 on end # NVIDIA Corporation GF119M [NVS 4200M]
-		device pci 02.0 on
+		device ref host_bridge on end # host bridge
+		device ref peg10 on end # NVIDIA Copcie_rporation GF119M [NVS 4200M]
+		device ref igd on
 			subsystemid 0x17aa 0x21d1
 		end # vga controller
 
@@ -50,28 +50,27 @@
 			register "spi_uvscc" = "0x2005"
 			register "spi_lvscc" = "0x2005"
 
-			device pci 16.0 on end # Management Engine Interface 1
-			device pci 16.1 off end
-			device pci 16.2 off end
-			device pci 16.3 off end
-			device pci 19.0 on # Intel Gigabit Ethernet
+			device ref mei1 on end # Management Engine Interface 1
+			device ref mei2 off end
+			device ref me_ide_r off end
+			device ref me_kt off end
+			device ref gbe on # Intel Gigabit Ethernet
 				subsystemid 0x17aa 0x21ce
 			end
-			device pci 1a.0 on end # USB2 EHCI #2
-			device pci 1b.0 on end # High Definition Audio
-			device pci 1c.0 off end # PCIe Port #1
-			device pci 1c.1 on end # PCIe Port #2 Integrated Wireless LAN
-			device pci 1c.2 off end # PCIe Port #3
-			device pci 1c.3 on
+			device ref ehci2 on end # USB2 EHCI #2
+			device ref hda on end # High Definition Audio
+			device ref pcie_rp1 off end # PCIe Port #1
+			device ref pcie_rp2 on end # PCIe Port #2 Integrated Wireless LAN
+			device ref pcie_rp3 off end # PCIe Port #3
+			device ref pcie_rp4 on
 				smbios_slot_desc "7" "3" "ExpressCard Slot" "8"
 			end # PCIe Port #4 Express Card
-			device pci 1c.4 on end # PCIe Port #5 MMC/SDXC + IEEE1394
-			device pci 1c.5 off end # PCIe Port #6 Intel Ethernet PHY
-			device pci 1c.6 off end # PCIe Port #7
-			device pci 1c.7 off end # PCIe Port #8
-			device pci 1d.0 on end # USB2 EHCI #1
-			device pci 1e.0 off end # PCI-2-PCI bridge
-			device pci 1f.0 on #LPC bridge
+			device ref pcie_rp5 on end # PCIe Port #5 MMC/SDXC + IEEE1394
+			device ref pcie_rp6 off end # PCIe Port #6 Intel Ethernet PHY
+			device ref pcie_rp7 off end # PCIe Port #7
+			device ref pcie_rp8 off end # PCIe Port #8
+			device ref ehci1 on end # USB2 EHCI #1
+			device ref lpc on #LPC bridge
 				chip ec/lenovo/pmh7
 					device pnp ff.1 on end # dummy
 					register "backlight_enable" = "0x01"
@@ -131,8 +130,8 @@
 					register "has_thinker1" = "1"
 				end
 			end # LPC bridge
-			device pci 1f.2 on end # SATA Controller 1
-			device pci 1f.3 on # SMBUS controller
+			device ref sata1 on end # SATA Controller 1
+			device ref smbus on # SMBUS controller
 				# eeprom, 8 virtual devices, same chip
 				chip drivers/i2c/at24rf08c
 					device i2c 54 on end
diff --git a/src/mainboard/lenovo/t530/devicetree.cb b/src/mainboard/lenovo/t530/devicetree.cb
index a274a67..d47acda 100644
--- a/src/mainboard/lenovo/t530/devicetree.cb
+++ b/src/mainboard/lenovo/t530/devicetree.cb
@@ -18,9 +18,9 @@
 	device domain 0 on
 		subsystemid 0x17aa 0x21f6 inherit
 
-		device pci 00.0 on end # Host bridge
-		device pci 01.0 on end # PCIe bridge for discrete graphics
-		device pci 02.0 on end # Internal graphics VGA controller
+		device ref host_bridge on end # Host bridge
+		device ref peg10 on end # PCIe bridge for discrete graphics
+		device ref igd on end # Internal graphics VGA controller
 
 		chip southbridge/intel/bd82x6x # Intel Series 7 Panther Point PCH
 			# GPI routing
@@ -53,29 +53,29 @@
 			register "spi_uvscc" = "0x2005"
 			register "spi_lvscc" = "0x2005"
 
-			device pci 14.0 on end # USB 3.0 Controller
-			device pci 16.0 on end # Management Engine Interface 1
-			device pci 16.1 off end # Management Engine Interface 2
-			device pci 16.2 off end # Management Engine IDE-R
-			device pci 16.3 off end # Management Engine KT
-			device pci 19.0 on # Intel Gigabit Ethernet
+			device ref xhci on end # USB 3.0 Controller
+			device ref mei1 on end # Management Engine Interface 1
+			device ref mei2 off end # Management Engine Interface 2
+			device ref me_ide_r off end # Management Engine IDE-R
+			device ref me_kt off end # Management Engine KT
+			device ref gbe on # Intel Gigabit Ethernet
 				subsystemid 0x17aa 0x21f3
 			end
-			device pci 1a.0 on end # USB2 EHCI #2
-			device pci 1b.0 on end # High Definition Audio
-			device pci 1c.0 on end # PCIe Port #1
-			device pci 1c.1 on end # PCIe Port #2
-			device pci 1c.2 on # PCIe Port #3
+			device ref ehci2 on end # USB2 EHCI #2
+			device ref hda on end # High Definition Audio
+			device ref pcie_rp1 on end # PCIe Port #1
+			device ref pcie_rp2 on end # PCIe Port #2
+			device ref pcie_rp3 on # PCIe Port #3
 				smbios_slot_desc "7" "3" "ExpressCard Slot" "8"
 			end
-			device pci 1c.3 off end # PCIe Port #4
-			device pci 1c.4 off end # PCIe Port #5
-			device pci 1c.5 off end # PCIe Port #6
-			device pci 1c.6 off end # PCIe Port #7
-			device pci 1c.7 off end # PCIe Port #8
-			device pci 1d.0 on end # USB2 EHCI #1
-			device pci 1e.0 off end # PCI bridge
-			device pci 1f.0 on # PCI-LPC bridge
+			device ref pcie_rp4 off end # PCIe Port #4
+			device ref pcie_rp5 off end # PCIe Port #5
+			device ref pcie_rp6 off end # PCIe Port #6
+			device ref pcie_rp7 off end # PCIe Port #7
+			device ref pcie_rp8 off end # PCIe Port #8
+			device ref ehci1 on end # USB2 EHCI #1
+			device ref pci_bridge off end # PCI bridge
+			device ref lpc on # PCI-LPC bridge
 				chip ec/lenovo/pmh7
 					device pnp ff.1 on end # dummy
 					register "backlight_enable" = "0x01"
@@ -137,8 +137,8 @@
 					register "has_thinker1" = "1"
 				end
 			end
-			device pci 1f.2 on end # SATA Controller 1
-			device pci 1f.3 on # SMBus
+			device ref sata1 on end # SATA Controller 1
+			device ref smbus on # SMBus
 				# eeprom, 8 virtual devices, same chip
 				chip drivers/i2c/at24rf08c
 					device i2c 54 on end
@@ -151,8 +151,8 @@
 					device i2c 5f on end
 				end
 			end
-			device pci 1f.5 off end # SATA Controller 2
-			device pci 1f.6 on end # Thermal
+			device ref sata2 off end # SATA Controller 2
+			device ref thermal on end # Thermal
 		end
 	end
 end
diff --git a/src/mainboard/lenovo/x131e/devicetree.cb b/src/mainboard/lenovo/x131e/devicetree.cb
index a0de163..0acf98bb 100644
--- a/src/mainboard/lenovo/x131e/devicetree.cb
+++ b/src/mainboard/lenovo/x131e/devicetree.cb
@@ -17,10 +17,10 @@
 	device domain 0 on
 		subsystemid 0x17aa 0x21fe inherit
 
-		device pci 00.0 on end # Host bridge
-		device pci 01.0 off end # PCIe Bridge for discrete graphics
-		device pci 02.0 on end # Internal graphics VGA controller
-		device pci 04.0 off end # Signal processing controller
+		device ref host_bridge on end # Host bridge
+		device ref peg10 off end # PCIe Bridge for discrete graphics
+		device ref igd on end # Internal graphics VGA controller
+		device ref dev4 off end # Signal processing controller
 
 		chip southbridge/intel/bd82x6x
 			# GPI routing
@@ -48,25 +48,25 @@
 			register "spi_uvscc" = "0x2005"
 			register "spi_lvscc" = "0x2005"
 
-			device pci 14.0 on end # USB 3.0 Controller
-			device pci 16.0 on end # Management Engine Interface 1
-			device pci 16.1 off end # Management Engine Interface 2
-			device pci 16.2 off end # Management Engine IDE-R
-			device pci 16.3 off end # Management Engine KT
-			device pci 19.0 off end # Intel Gigabit Ethernet
-			device pci 1a.0 on end # USB2 EHCI #2
-			device pci 1b.0 on end # High Definition Audio Audio controller
-			device pci 1c.0 on end # PCIe Port #1
-			device pci 1c.1 on end # PCIe Port #2 (WLAN card)
-			device pci 1c.2 on end # PCIe Port #3 (Card Reader)
-			device pci 1c.3 off end # PCIe Port #4
-			device pci 1c.4 off end # PCIe Port #5
-			device pci 1c.5 on end # PCIe Port #6 (Ethernet controller)
-			device pci 1c.6 off end # PCIe Port #7
-			device pci 1c.7 off end # PCIe Port #8
-			device pci 1d.0 on end # USB2 EHCI #1
-			device pci 1e.0 off end # PCI bridge
-			device pci 1f.0 on # LPC bridge PCI-LPC bridge
+			device ref xhci on end # USB 3.0 Controller
+			device ref mei1 on end # Management Engine Interface 1
+			device ref mei2 off end # Management Engine Interface 2
+			device ref me_ide_r off end # Management Engine IDE-R
+			device ref me_kt off end # Management Engine KT
+			device ref gbe off end # Intel Gigabit Ethernet
+			device ref ehci2 on end # USB2 EHCI #2
+			device ref hda on end # High Definition Audio Audio controller
+			device ref pcie_rp1 on end # PCIe Port #1
+			device ref pcie_rp2 on end # PCIe Port #2 (WLAN card)
+			device ref pcie_rp3 on end # PCIe Port #3 (Card Reader)
+			device ref pcie_rp4 off end # PCIe Port #4
+			device ref pcie_rp5 off end # PCIe Port #5
+			device ref pcie_rp6 on end # PCIe Port #6 (Ethernet controller)
+			device ref pcie_rp7 off end # PCIe Port #7
+			device ref pcie_rp8 off end # PCIe Port #8
+			device ref ehci1 on end # USB2 EHCI #1
+			device ref pci_bridge off end # PCI bridge
+			device ref lpc on # LPC bridge PCI-LPC bridge
 				chip drivers/pc80/tpm
 					device pnp 0c31.0 on end
 				end
@@ -108,8 +108,8 @@
 					register "eventf_enable" = "0xff"
 				end
 			end
-			device pci 1f.2 on end # SATA Controller 1
-			device pci 1f.3 on # SMBus
+			device ref sata1 on end # SATA Controller 1
+			device ref smbus on # SMBus
 				# eeprom, 8 virtual devices, same chip
 				chip drivers/i2c/at24rf08c
 					device i2c 54 on end
@@ -122,8 +122,8 @@
 					device i2c 5f on end
 				end
 			end
-			device pci 1f.5 off end # SATA Controller 2
-			device pci 1f.6 off end # Thermal
+			device ref sata2 off end # SATA Controller 2
+			device ref thermal off end # Thermal
 		end
 	end
 end
diff --git a/src/mainboard/lenovo/x1_carbon_gen1/devicetree.cb b/src/mainboard/lenovo/x1_carbon_gen1/devicetree.cb
index 0c69353..704a410 100644
--- a/src/mainboard/lenovo/x1_carbon_gen1/devicetree.cb
+++ b/src/mainboard/lenovo/x1_carbon_gen1/devicetree.cb
@@ -15,9 +15,9 @@
 	device domain 0 on
 		subsystemid 0x17aa 0x21f9 inherit
 
-		device pci 00.0 on end # host bridge
-		device pci 01.0 off end # PCIe Bridge for discrete graphics
-		device pci 02.0 on end # vga controller
+		device ref host_bridge on end # host bridge
+		device ref peg10 off end # PCIe Bridge for discrete graphics
+		device ref igd on end # vga controller
 
 		chip southbridge/intel/bd82x6x # Intel Series 6 Cougar Point PCH
 			# GPI routing
@@ -50,31 +50,31 @@
 			register "spi_uvscc" = "0x2005"
 			register "spi_lvscc" = "0x2005"
 
-			device pci 14.0 on end # USB 3.0 Controller
-			device pci 16.0 on end # Management Engine Interface 1
-			device pci 16.1 off end # Management Engine Interface 2
-			device pci 16.2 off end # Management Engine IDE-R
-			device pci 16.3 off end # Management Engine KT
-			device pci 19.0 off end # Intel Gigabit Ethernet
-			device pci 1a.0 on end # USB2 EHCI #2
-			device pci 1b.0 on end # High Definition Audio
-			device pci 1c.0 on
+			device ref xhci on end # USB 3.0 Controller
+			device ref mei1 on end # Management Engine Interface 1
+			device ref mei2 off end # Management Engine Interface 2
+			device ref me_ide_r off end # Management Engine IDE-R
+			device ref me_kt off end # Management Engine KT
+			device ref gbe off end # Intel Gigabit Ethernet
+			device ref ehci2 on end # USB2 EHCI #2
+			device ref hda on end # High Definition Audio
+			device ref pcie_rp1 on
 				chip drivers/ricoh/rce822
 					register "sdwppol" = "0"
 					register "disable_mask" = "0x87"
 					device pci 00.0 on end
 				end
 			end # PCIe Port #1
-			device pci 1c.1 on end # PCIe Port #2
-			device pci 1c.2 off end # PCIe Port #3
-			device pci 1c.3 off end # PCIe Port #4
-			device pci 1c.4 off end # PCIe Port #5
-			device pci 1c.5 off end # PCIe Port #6
-			device pci 1c.6 off end # PCIe Port #7
-			device pci 1c.7 off end # PCIe Port #8
-			device pci 1d.0 on end # USB2 EHCI #1
-			device pci 1e.0 off end # PCI bridge
-			device pci 1f.0 on #LPC bridge
+			device ref pcie_rp2 on end # PCIe Port #2
+			device ref pcie_rp3 off end # PCIe Port #3
+			device ref pcie_rp4 off end # PCIe Port #4
+			device ref pcie_rp5 off end # PCIe Port #5
+			device ref pcie_rp6 off end # PCIe Port #6
+			device ref pcie_rp7 off end # PCIe Port #7
+			device ref pcie_rp8 off end # PCIe Port #8
+			device ref ehci1 on end # USB2 EHCI #1
+			device ref pci_bridge off end # PCI bridge
+			device ref lpc on #LPC bridge
 				chip ec/lenovo/pmh7
 					device pnp ff.1 on end # dummy
 					register "backlight_enable" = "0x01"
@@ -121,8 +121,8 @@
 					register "wwan_gpio_lvl" = "0"
 				end
 			end # LPC bridge
-			device pci 1f.2 on end # SATA Controller 1
-			device pci 1f.3 on
+			device ref sata1 on end # SATA Controller 1
+			device ref smbus on
 				# eeprom, 8 virtual devices, same chip
 				chip drivers/i2c/at24rf08c
 					device i2c 54 on end
@@ -135,8 +135,8 @@
 					device i2c 5f on end
 				end
 			end # SMBus
-			device pci 1f.5 off end # SATA Controller 2
-			device pci 1f.6 on end # Thermal
+			device ref sata2 off end # SATA Controller 2
+			device ref thermal on end # Thermal
 		end
 	end
 end
diff --git a/src/mainboard/lenovo/x220/devicetree.cb b/src/mainboard/lenovo/x220/devicetree.cb
index 46459c5..eb79baa 100644
--- a/src/mainboard/lenovo/x220/devicetree.cb
+++ b/src/mainboard/lenovo/x220/devicetree.cb
@@ -18,9 +18,9 @@
 	device domain 0 on
 		subsystemid 0x17aa 0x21db inherit
 
-		device pci 00.0 on end # host bridge
-		device pci 01.0 off end # PCIe Bridge for discrete graphics
-		device pci 02.0 on end # vga controller
+		device ref host_bridge on end # host bridge
+		device ref peg10 off end # PCIe Bridge for discrete graphics
+		device ref igd on end # vga controller
 
 		chip southbridge/intel/bd82x6x # Intel Series 6 Cougar Point PCH
 			# GPI routing
@@ -48,34 +48,34 @@
 			register "spi_uvscc" = "0x2005"
 			register "spi_lvscc" = "0x2005"
 
-			device pci 16.0 on  end # Management Engine Interface 1
-			device pci 16.1 off end # Management Engine Interface 2
-			device pci 16.2 off end # Management Engine IDE-R
-			device pci 16.3 off end # Management Engine KT
-			device pci 19.0 on
+			device ref mei1 on  end # Management Engine Interface 1
+			device ref mei2 off end # Management Engine Interface 2
+			device ref me_ide_r off end # Management Engine IDE-R
+			device ref me_kt off end # Management Engine KT
+			device ref gbe on
 				subsystemid 0x17aa 0x21ce
 			end # Intel Gigabit Ethernet
-			device pci 1a.0 on end # USB2 EHCI #2
-			device pci 1b.0 on end # High Definition Audio
-			device pci 1c.0 on end # PCIe Port #1
-			device pci 1c.1 on end # PCIe Port #2 (wlan)
-			device pci 1c.2 on end # PCIe Port #3
-			device pci 1c.3 on
+			device ref ehci2 on end # USB2 EHCI #2
+			device ref hda on end # High Definition Audio
+			device ref pcie_rp1 on end # PCIe Port #1
+			device ref pcie_rp2 on end # PCIe Port #2 (wlan)
+			device ref pcie_rp3 on end # PCIe Port #3
+			device ref pcie_rp4 on
 				smbios_slot_desc "7" "3" "ExpressCard Slot" "8"
 			end # PCIe Port #4
-			device pci 1c.4 on
+			device ref pcie_rp5 on
 				chip drivers/ricoh/rce822
 					register "sdwppol" = "1"
 					register "disable_mask" = "0x87"
 					device pci 00.0 on end
 				end
 			end # PCIe Port #5 (SD)
-			device pci 1c.5 off end # PCIe Port #6
-			device pci 1c.6 on end # PCIe Port #7
-			device pci 1c.7 off end # PCIe Port #8
-			device pci 1d.0 on end # USB2 EHCI #1
-			device pci 1e.0 off end # PCI bridge
-			device pci 1f.0 on #LPC bridge
+			device ref pcie_rp6 off end # PCIe Port #6
+			device ref pcie_rp7 on end # PCIe Port #7
+			device ref pcie_rp8 off end # PCIe Port #8
+			device ref ehci1 on end # USB2 EHCI #1
+			device ref pci_bridge off end # PCI bridge
+			device ref lpc on #LPC bridge
 				chip ec/lenovo/pmh7
 					device pnp ff.1 on end # dummy
 					register "backlight_enable" = "0x01"
@@ -127,8 +127,8 @@
 					register "wwan_gpio_lvl" = "0"
 				end
 			end # LPC bridge
-			device pci 1f.2 on end # SATA Controller 1
-			device pci 1f.3 on
+			device ref sata1 on end # SATA Controller 1
+			device ref smbus on
 				# eeprom, 8 virtual devices, same chip
 				chip drivers/i2c/at24rf08c
 					device i2c 54 on end
@@ -141,8 +141,8 @@
 					device i2c 5f on end
 				end
 			end # SMBus
-			device pci 1f.5 off end # SATA Controller 2
-			device pci 1f.6 on end # Thermal
+			device ref sata2 off end # SATA Controller 2
+			device ref thermal on end # Thermal
 		end
 	end
 end
diff --git a/src/mainboard/lenovo/x230/devicetree.cb b/src/mainboard/lenovo/x230/devicetree.cb
index 5c1c124..490f837 100644
--- a/src/mainboard/lenovo/x230/devicetree.cb
+++ b/src/mainboard/lenovo/x230/devicetree.cb
@@ -18,9 +18,9 @@
 	device domain 0 on
 		subsystemid 0x17aa 0x21fa inherit
 
-		device pci 00.0 on end # host bridge
-		device pci 01.0 off end # PCIe Bridge for discrete graphics
-		device pci 02.0 on end # vga controller
+		device ref host_bridge on end # host bridge
+		device ref peg10 off end # PCIe Bridge for discrete graphics
+		device ref igd on end # vga controller
 
 		chip southbridge/intel/bd82x6x # Intel Series 6 Cougar Point PCH
 			# GPI routing
@@ -51,33 +51,33 @@
 			register "spi_uvscc" = "0x2005"
 			register "spi_lvscc" = "0x2005"
 
-			device pci 14.0 on end # USB 3.0 Controller
-			device pci 16.0 on end # Management Engine Interface 1
-			device pci 16.1 off end # Management Engine Interface 2
-			device pci 16.2 off end # Management Engine IDE-R
-			device pci 16.3 off end # Management Engine KT
-			device pci 19.0 on
+			device ref xhci on end # USB 3.0 Controller
+			device ref mei1 on end # Management Engine Interface 1
+			device ref mei2 off end # Management Engine Interface 2
+			device ref me_ide_r off end # Management Engine IDE-R
+			device ref me_kt off end # Management Engine KT
+			device ref gbe on
 				subsystemid 0x17aa 0x21f3
 			end # Intel Gigabit Ethernet
-			device pci 1a.0 on end # USB2 EHCI #2
-			device pci 1b.0 on end # High Definition Audio
-			device pci 1c.0 on
+			device ref ehci2 on end # USB2 EHCI #2
+			device ref hda on end # High Definition Audio
+			device ref pcie_rp1 on
 				chip drivers/ricoh/rce822
 					register "sdwppol" = "1"
 					register "disable_mask" = "0x87"
 					device pci 00.0 on end
 				end
 			end # PCIe Port #1
-			device pci 1c.1 on end # PCIe Port #2
-			device pci 1c.2 off end # PCIe Port #3
-			device pci 1c.3 off end # PCIe Port #4
-			device pci 1c.4 off end # PCIe Port #5
-			device pci 1c.5 off end # PCIe Port #6
-			device pci 1c.6 off end # PCIe Port #7
-			device pci 1c.7 off end # PCIe Port #8
-			device pci 1d.0 on end # USB2 EHCI #1
-			device pci 1e.0 off end # PCI bridge
-			device pci 1f.0 on #LPC bridge
+			device ref pcie_rp2 on end # PCIe Port #2
+			device ref pcie_rp3 off end # PCIe Port #3
+			device ref pcie_rp4 off end # PCIe Port #4
+			device ref pcie_rp5 off end # PCIe Port #5
+			device ref pcie_rp6 off end # PCIe Port #6
+			device ref pcie_rp7 off end # PCIe Port #7
+			device ref pcie_rp8 off end # PCIe Port #8
+			device ref ehci1 on end # USB2 EHCI #1
+			device ref pci_bridge off end # PCI bridge
+			device ref lpc on #LPC bridge
 				chip ec/lenovo/pmh7
 					device pnp ff.1 on end # dummy
 					register "backlight_enable" = "0x01"
@@ -130,8 +130,8 @@
 					register "wwan_gpio_lvl" = "0"
 				end
 			end # LPC bridge
-			device pci 1f.2 on end # SATA Controller 1
-			device pci 1f.3 on
+			device ref sata1 on end # SATA Controller 1
+			device ref smbus on
 				# eeprom, 8 virtual devices, same chip
 				chip drivers/i2c/at24rf08c
 					device i2c 54 on end
@@ -144,8 +144,8 @@
 					device i2c 5f on end
 				end
 			end # SMBus
-			device pci 1f.5 off end # SATA Controller 2
-			device pci 1f.6 on end # Thermal
+			device ref sata2 off end # SATA Controller 2
+			device ref thermal on end # Thermal
 		end
 	end
 end