u-boot-2016/include
Paul Burton d4150ca6de Provide a generic io.h & address mapping functions
Most architectures currently supported by U-Boot use trivial
implementations of map_to_physmem & virt_to_phys which simply cast a
physical address to a pointer for use a virtual address & vice-versa.
This results in a lot of duplicate implementations of these mapping
functions.

The set of functions provided by different architectures also differs,
with some having implementations of phys_to_virt & others not. A later
patch will make use of phys_to_virt in architecture-neutral code, and so
requires that it be provided for all architectures.

This patch introduces an asm-generic/io.h which provides generic
implementations of address mapping functions, allowing the duplication
of them between architectures to be removed. Once architectures are
converted to make use of this generic header it will also ensure that
all of phys_to_virt, virt_to_phys, map_physmem & unmap_physmem are
provided. The 2 families of functions differ in that map_physmem may
create dynamic mappings whilst phys_to_virt may not & therefore is more
limited in scope but doesn't require information such as a length &
flags.

This patch doesn't convert any architectures to make use of this generic
header - later patches in the series will do so.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Alexey Brodkin <alexey.brodkin@synopsys.com>
Cc: Angelo Dureghello <angelo@sysam.it>
Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Cc: Macpaul Lin <macpaul@andestech.com>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Thomas Chou <thomas@wytron.com.tw>
Cc: Wolfgang Denk <wd@denx.de>
Acked-by: Angelo Dureghello <angelo@sysam.it>
Tested-by: Angelo Dureghello <angelo@sysam.it>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
2017-10-02 21:52:19 -04:00
..
andestech
asm-generic Provide a generic io.h & address mapping functions 2017-10-02 21:52:19 -04:00
bedbug powerpc: remove 4xx support 2017-07-03 17:35:28 -04:00
cavium
configs evb-rk3399: avoid redefinition of CONFIG_ENV_OFFSET 2017-10-01 00:33:34 +02:00
cramfs
dm dm: core: Add functions to get strings and the string count from a stringlist 2017-09-22 23:23:54 +09:00
dt-bindings rockchip: clk: Add rv1108 SARADC clock support 2017-10-01 00:33:29 +02:00
environment/ti env: ti: boot: Show boot status information 2017-09-29 14:07:58 -04:00
faraday
fsl-mc armv8: fsl-layerscape: Support to add RGMII for ls1088aqds 2017-09-11 08:01:05 -07:00
jffs2
linux usb: xhci: Honor endpoint's interval 2017-10-01 16:32:54 +02:00
lzma
mtd mtd: cfi: Add support for status register polling 2017-09-26 10:57:53 +02:00
net
pcmcia
power regulator: palmas: disable bypass when the LDO is enabled 2017-08-01 11:58:01 +09:00
samsung
spmi
synopsys
tee
test
u-boot include: Add a variadic macro to call a callback for all arguments 2017-10-02 21:52:16 -04:00
usb armv7: ls1021a: Fix marco CONFIG_LS102XA 2017-09-22 12:40:48 -07:00
zfs
.gitignore
_exports.h env: Rename getenv/_f() to env_get() 2017-08-16 08:30:24 -04:00
ACEX1K.h
adc.h
addr_map.h
ahci.h dm: sata: Update the AHCI uclass to support operations 2017-08-17 16:44:17 +09:00
ali512x.h
altera.h
android_image.h
ansi.h
api.h
api_public.h
armcoremodule.h
asm-offsets.h
ata.h
atf_common.h
atmel_hlcdc.h
atmel_lcd.h lib: at91: Add logo files used via API of DM_VIDEO 2017-09-14 16:02:43 -04:00
atmel_lcdc.h
atmel_mci.h
atsha204a-i2c.h drivers/misc: Add basic support for ATSHA204A Crypto module 2017-07-12 06:57:38 +02:00
autoboot.h
axp152.h
axp209.h
axp221.h
axp809.h
axp818.h
axp_pmic.h
backlight.h
bcd.h
bios_emul.h
bitfield.h
blk.h part: extract MBR signature from partitions 2017-09-20 10:20:19 +02:00
bmp_layout.h
boot_fit.h boot_fit: Create helper functions that can be used to select DTB out of FIT 2017-07-10 14:25:50 -04:00
bootcount.h
bootm.h
bootretry.h
bootstage.h bootstage: Drop unused options 2017-09-16 14:57:44 +08:00
bouncebuf.h
btrfs.h fs: btrfs: Add U-Boot fs handlers. 2017-10-02 21:52:18 -04:00
bus_vcxk.h
bzlib.h
cbfs.h
charset.h lib: add some utf16 handling helpers 2017-09-12 17:57:59 -04:00
circbuf.h
cli.h
cli_hush.h
clk-uclass.h
clk.h dtoc: Rename the phandle struct 2017-09-15 05:27:47 -06:00
cmd_spl.h
command.h Kconfig: Drop CONFIG_CMD_PORTIO and associated command 2017-08-11 15:41:52 -04:00
common.h env: Rename some other getenv()-related functions 2017-08-16 08:31:11 -04:00
common_timing_params.h
commproc.h powerpc, 8xx: Handle checkpatch errors and some of the warnings/checks 2017-07-08 15:55:34 -04:00
compiler.h
config_defaults.h
config_distro_bootcmd.h efi_loader: add bootmgr 2017-09-20 11:08:01 +02:00
config_distro_defaults.h
config_fallbacks.h vsprintf.c: add GUID printing 2017-09-12 17:58:00 -04:00
config_fsl_chain_trust.h common: Move CONFIG_BOOTARGS to Kconfig 2017-08-14 17:06:06 -04:00
config_phylib_all_drivers.h Move PHY_MICREL and PHY_MICREL_KSZ90X1 to Kconfig 2017-08-07 15:22:29 -05:00
config_uncmd_spl.h
console.h Allow displaying the U-Boot banner on a video display 2017-07-11 10:08:19 -06:00
cortina.h
cpsw.h
cpu.h
crc.h
cros_ec.h
cros_ec_message.h
dataflash.h env: Rename setenv() to env_set() 2017-08-16 08:22:18 -04:00
ddr_spd.h
debug_uart.h
dfu.h dfu: remove limitation on partition size 2017-07-28 23:34:39 +02:00
dialog_pmic.h
display.h
display_options.h display_options: Refactor to allow obtaining the banner 2017-07-11 10:08:19 -06:00
div64.h
dm-demo.h
dm.h
dm9000.h
dma.h
dp83848.h
ds1722.h
dt-structs.h dtoc: Rename the auto-generated dt-structs.h file 2017-09-15 05:27:48 -06:00
dw_hdmi.h
dwc3-omap-uboot.h
dwc3-sti-glue.h usb: dwc3: Add dwc3 glue driver support for STi 2017-09-22 07:39:59 -04:00
dwc3-uboot.h
dwc_ahsata.h dm: sata: dwc_ahsata: Add support for driver model 2017-08-17 16:44:17 +09:00
dwmmc.h dm: mmc: Drop CONFIG_DM_MMC_OPS 2017-08-17 16:59:55 +09:00
e500.h
ec_commands.h
edid.h
eeprom_field.h
eeprom_layout.h
efi.h efi_loader: efi variable support 2017-09-20 11:00:57 +02:00
efi_api.h efi_loader: Some console improvements for vidconsole 2017-09-20 11:29:35 +02:00
efi_loader.h efi_loader: add bootmgr 2017-09-20 11:08:01 +02:00
efi_selftest.h efi_selftest: provide an EFI selftest application 2017-09-18 23:53:57 +02:00
elf.h
env_attr.h
env_callback.h usb: gadget: g_dnl: Sync internal SN variable with env 2017-09-05 20:17:08 -04:00
env_default.h common: Move CONFIG_BOOTARGS to Kconfig 2017-08-14 17:06:06 -04:00
env_flags.h
environment.h env: Adjust the load() method to return an error 2017-08-16 08:31:24 -04:00
errno.h
ethsw.h
exports.h env: Rename getenv/_f() to env_get() 2017-08-16 08:30:24 -04:00
ext4fs.h
ext_common.h
exynos_lcd.h
fastboot.h
fat.h fs/fat: Clean up open-coded sector <-> cluster conversions 2017-09-15 09:03:15 -04:00
fb_mmc.h
fb_nand.h
fdt.h
fdt_simplefb.h
fdt_support.h fdt: Introduce helper method fdt_overlay_apply_verbose() 2017-09-15 05:27:48 -06:00
fdtdec.h dtoc: Add support for 32 or 64-bit addresses 2017-09-15 05:27:38 -06:00
fis.h
flash.h mtd: cfi: Add support for status register polling 2017-09-26 10:57:53 +02:00
fm_eth.h
fpga.h
fs.h fs: btrfs: Add U-Boot fs handlers. 2017-10-02 21:52:18 -04:00
fs_internal.h fs: Create a common fs_devread for ext4/reiserfs/zfs 2017-10-02 21:51:50 -04:00
fsl_csu.h fsl-lsch2: csu: correct the workaround A-010315 2017-08-09 09:57:33 -07:00
fsl_dcu_fb.h
fsl_ddr.h
fsl_ddr_dimm_params.h
fsl_ddr_sdram.h
fsl_ddrc_version.h
fsl_devdis.h
fsl_diu_fb.h
fsl_dspi.h
fsl_dtsec.h
fsl_errata.h
fsl_esdhc.h mmc: fsl_esdhc: introduce vs18_enable for 1.8V fix I/O 2017-07-12 09:44:22 +02:00
fsl_fman.h
fsl_ifc.h
fsl_immap.h fsl-layerscape: Consolidate registers space defination for CCI-400 bus 2017-09-11 07:55:36 -07:00
fsl_lpuart.h
fsl_mdio.h
fsl_memac.h
fsl_mmdc.h
fsl_pmic.h
fsl_qe.h
fsl_sec.h
fsl_sec_mon.h
fsl_secboot_err.h
fsl_sfp.h
fsl_tgec.h
fsl_usb.h
fsl_validate.h
fsl_wdog.h
fuse.h
g_dnl.h
gdsys_fpga.h
generic-phy.h dm: phy: add missing #ifdef CONFIG_PHY 2017-07-28 23:34:41 +02:00
gt64120.h
hash.h
hw_sha.h
hwconfig.h
i2c.h
i2c_eeprom.h
i2s.h
i8042.h
ide.h block: ide: Drop CONFIG_IDE_LED 2017-09-03 15:30:35 -04:00
image-sparse.h
image.h fit: Introduce methods for applying overlays on fit-load 2017-09-15 05:27:49 -06:00
imx_thermal.h
imximage.h imx: move imximage header to common location 2017-08-23 10:41:58 +02:00
init_helpers.h
initcall.h
input.h
inttypes.h
iomux.h
ioports.h powerpc: Remove 8260 remainders 2017-07-23 09:24:47 -04:00
iotrace.h
ipu_pixfmt.h
key_matrix.h
keyboard.h powerpc, 5xxx, 512x: remove support for mpc5xxx and mpc512x 2017-06-16 10:14:55 -04:00
kgdb.h
lattice.h
lcd.h
lcd_console.h
lcdvideo.h
ld9040.h
led-display.h
led.h
libata.h
libfdt.h
libfdt_env.h
libtizen.h
linker_lists.h linker_lists: remove incorrect comment 2017-09-07 10:44:37 -04:00
linux_logo.h
lmb.h
logbuff.h
lxt971a.h
lynxkdi.h
mailbox-uclass.h
mailbox.h
malloc.h
mapmem.h
mb862xx.h
mc9sdz60.h
mc13783.h
mc13892.h
mc34704.h
MCD_dma.h
MCD_progCheck.h
MCD_tasksInit.h
memalign.h
membuff.h
menu.h
micrel.h
mii_phy.h
miiphy.h
mipi_display.h
misc.h
mk48t59.h
mmc.h cmd: mmc: add mmc partconf read capability 2017-08-17 17:00:11 +09:00
mpc8xx.h powerpc: Partialy restore core of mpc8xx 2017-07-08 15:55:26 -04:00
mpc8xx_irq.h
mpc83xx.h
mpc85xx.h
mpc86xx.h
mpc106.h
msc01.h
mtd.h
mtd_node.h
mv88e6352.h
mvebu_mmc.h
mvmfp.h
nand.h mtd: nand: make nand_info array static 2017-07-11 22:41:54 -04:00
net.h env: Rename some other getenv()-related functions 2017-08-16 08:31:11 -04:00
netdev.h net: fec_mxc: adjust prototype of fec_get_miibus() for DM_ETH 2017-07-28 13:41:49 +02:00
ns16550.h Revert "serial: ns16550: Add RX interrupt buffer support" 2017-08-24 11:00:47 +08:00
ns87308.h
nuvoton_nct6102d.h
nvme.h nvme: Add show routine to print detailed information 2017-08-13 15:17:31 -04:00
of_live.h
onenand_uboot.h
os.h sandbox: remove os_putc() and os_puts() 2017-07-28 12:02:47 -06:00
palmas.h board: ti: dra76-evm: Add support for powering on mmc ldo 2017-09-11 16:19:43 -04:00
panel.h
part.h part: move efi_guid_t 2017-09-20 10:20:00 +02:00
part_efi.h part: move efi_guid_t 2017-09-20 10:20:00 +02:00
pc_keyb.h
pca953x.h
pca9564.h
pca9698.h
pch.h
pci.h
pci_gt64120.h
pci_ids.h nvme: Detect devices that are class Storage Express 2017-08-13 15:17:32 -04:00
pci_msc01.h
pci_rom.h
pcmcia.h
pe.h efi_loader: set loaded image code/data type properly 2017-09-20 11:10:24 +02:00
phy.h net: phy: micrel: Separate KSZ9000 drivers from KSZ8000 drivers 2017-08-07 15:18:30 -05:00
phys2bus.h
physmem.h
post.h powerpc: remove 4xx support 2017-07-03 17:35:28 -04:00
power-domain-uclass.h
power-domain.h
ppc_asm.tmpl powerpc: Partialy restore core of mpc8xx 2017-07-08 15:55:26 -04:00
ppc_defs.h
ps2mult.h
pwm.h
pwrseq.h
pxa_lcd.h
qfw.h
radeon.h
ram.h
rc4.h
regmap.h dtoc: Add support for 32 or 64-bit addresses 2017-09-15 05:27:38 -06:00
reiserfs.h
relocate.h
remoteproc.h
reset-uclass.h
reset.h reset: add reset_release_all() 2017-07-28 23:34:07 +02:00
rtc.h
rtc_def.h
s6e63d6.h
s_record.h
SA-1100.h
samsung-usb-phy-uboot.h
sandbox-adc.h
sandboxblockdev.h
sandboxfs.h
sata.h dm: sata: Support driver model with the 'sata' command 2017-08-17 16:44:17 +09:00
scf0403_lcd.h
scsi.h dm: scsi: Split out the bus scanning code 2017-07-11 10:08:19 -06:00
sdhci.h dm: mmc: Drop CONFIG_DM_MMC_OPS 2017-08-17 16:59:55 +09:00
sdp.h usb: gadget: add SDP driver 2017-08-23 10:41:58 +02:00
search.h env: Rename setenv() to env_set() 2017-08-16 08:22:18 -04:00
serial.h serial: serial-uclass: Add generic serial RX buffer support 2017-08-24 11:00:47 +08:00
sh_pfc.h
sh_tmu.h
sja1000.h
slre.h
smbios.h
smsc_lpc47m.h
smsc_sio1007.h
sound.h
sparse_defs.h
sparse_format.h
spartan2.h
spartan3.h
spd.h
spd_sdram.h
spi.h
spi_flash.h
spl.h spl: add a 'return to bootrom' boot method 2017-08-13 17:12:19 +02:00
splash.h
status_led.h powerpc, 5xxx, 512x: remove support for mpc5xxx and mpc512x 2017-06-16 10:14:55 -04:00
stdio_dev.h dm: console: Check for serial devices properly 2017-07-31 12:21:40 -04:00
stdlib.h
stratixII.h
sy8106a.h
sym53c8xx.h
syscon.h dtoc: Add support for 32 or 64-bit addresses 2017-09-15 05:27:38 -06:00
sysreset.h
tables_csum.h
tca642x.h
tegra-kbc.h
thermal.h
thor.h
ti-usb-phy-uboot.h
time.h
timer.h
timestamp.h
tmu.h
tpm.h
tps6586x.h
trace.h
tsec.h
tsi108.h
tsi148.h
twl4030.h
twl6030.h
ubi_uboot.h
ubifs_uboot.h
ubispl.h
uboot_aes.h
universe.h
usb.h dm: usb: emul: Drop usb_emul_reset() 2017-10-01 16:32:51 +02:00
usb_cdc_acm.h
usb_defs.h usb: hub: Parse and save TT details from device descriptor 2017-07-28 23:34:34 +02:00
usb_ether.h
usb_mass_storage.h
usbdescriptors.h
usbdevice.h
usbroothubdes.h
uuid.h
vbe.h vbe: Drop vbe_get_video_info() 2017-08-24 11:00:47 +08:00
version.h
video.h
video_bridge.h
video_console.h
video_easylogo.h
video_fb.h
video_font.h
video_font_4x6.h
video_font_data.h
video_logo.h
virtex2.h
vsc7385.h
vsc9953.h
vsprintf.h vsprintf: vsprintf does not have parameter size 2017-09-07 10:44:37 -04:00
vxworks.h
w83c553f.h
wait_bit.h
watchdog.h powerpc, 8xx: Use IO accessors to access IO memory 2017-07-08 15:55:32 -04:00
wdt.h wdt: Update uclass to make clear that the timeout is in ms 2017-08-13 15:17:34 -04:00
winbond_w83627.h
xilinx.h
xyzModem.h
zfs_common.h
zynqmppl.h arm64: zynqmp: Fix SVD mask for getting chip ID 2017-08-02 09:11:52 +02:00
zynqpl.h