Are you thinking of extending the resource allocator? How does uboot do this? What would your device tree look like?
the resource allocator is based on PCI bus. We need a device's bus number and device number to allocate resources to it. But on ARM, no devices are connected to a PCI bus. So the device tree should not have PCI-related fields. U-boot uses a register r8 to store an address holding the device tree. The tree records the information of the hardware on the board. After U-boot finishes init one device, it writes the device's information to the tree.