Create API to map between CPU physical and bus addresses

On some SoCs, DMA-capable peripherals see a different address space to
the CPU's physical address space. Create an API to allow platform-agnostic
drivers to convert between the two address spaces when programming DMA
operations.

This API will exist on all platforms, but will have a dummy implementation
when this feature is not required. Other platforms will enable
CONFIG_PHYS_TO_BUS and provide the required implementation.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
This commit is contained in:
Stephen Warren
2015-03-24 20:07:33 -06:00
committed by Marek Vasut
parent fc909c0563
commit 927c1fa266
2 changed files with 33 additions and 0 deletions

25
include/phys2bus.h Normal file
View File

@@ -0,0 +1,25 @@
/*
* Copyright 2015 Stephen Warren
*
* SPDX-License-Identifier: GPL-2.0+
*/
#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
#endif