1234567891011121314151617181920212223242526272829303132333435363738394041 |
- /* SPDX-License-Identifier: GPL-2.0+ */
- /*
- * Copyright 2015 Stephen Warren
- */
- #ifndef _BUS_ADDR_H
- #define _BUS_ADDR_H
- #ifdef CONFIG_PHYS_TO_BUS
- unsigned long phys_to_bus(unsigned long phys);
- unsigned long bus_to_phys(unsigned long bus);
- #else
- static inline unsigned long phys_to_bus(unsigned long phys)
- {
- return phys;
- }
- static inline unsigned long bus_to_phys(unsigned long bus)
- {
- return bus;
- }
- #endif
- #if CONFIG_IS_ENABLED(DM)
- #include <dm/device.h>
- static inline dma_addr_t dev_phys_to_bus(struct udevice *dev, phys_addr_t phys)
- {
- return phys - dev_get_dma_offset(dev);
- }
- static inline phys_addr_t dev_bus_to_phys(struct udevice *dev, dma_addr_t bus)
- {
- return bus + dev_get_dma_offset(dev);
- }
- #else
- #define dev_phys_to_bus(_, _addr) _addr
- #define dev_bus_to_phys(_, _addr) _addr
- #endif
- #endif
|