device/mmio.h: Move readXp/writeXp helpers to device/mmio.h
These helpers are not architecture dependent and it might be used for different platform. Signed-off-by: Jianjun Wang <jianjun.wang@mediatek.com> Change-Id: Ic13a94d91affb7cf65a2f22f08ea39ed671bc8e8 Reviewed-on: https://review.coreboot.org/c/coreboot/+/62561 Reviewed-by: Yu-Ping Wu <yupingso@google.com> Reviewed-by: Angel Pons <th3fanbus@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
		
				
					committed by
					
						 Hung-Te Lin
						Hung-Te Lin
					
				
			
			
				
	
			
			
			
						parent
						
							0e834a9455
						
					
				
				
					commit
					8565b94a53
				
			| @@ -13,22 +13,22 @@ | |||||||
|  * in coreboot. |  * in coreboot. | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| #include <console/console.h> |  | ||||||
| #include <string.h> |  | ||||||
| #include <acpi/acpi.h> | #include <acpi/acpi.h> | ||||||
| #include <acpi/acpi_ivrs.h> | #include <acpi/acpi_ivrs.h> | ||||||
| #include <acpi/acpigen.h> | #include <acpi/acpigen.h> | ||||||
| #include <arch/hpet.h> | #include <arch/hpet.h> | ||||||
| #include <arch/mmio.h> | #include <cbfs.h> | ||||||
| #include <device/pci.h> |  | ||||||
| #include <cbmem.h> | #include <cbmem.h> | ||||||
| #include <commonlib/helpers.h> | #include <commonlib/helpers.h> | ||||||
|  | #include <commonlib/sort.h> | ||||||
|  | #include <console/console.h> | ||||||
| #include <cpu/cpu.h> | #include <cpu/cpu.h> | ||||||
| #include <cbfs.h> | #include <device/mmio.h> | ||||||
|  | #include <device/pci.h> | ||||||
|  | #include <pc80/mc146818rtc.h> | ||||||
|  | #include <string.h> | ||||||
| #include <types.h> | #include <types.h> | ||||||
| #include <version.h> | #include <version.h> | ||||||
| #include <commonlib/sort.h> |  | ||||||
| #include <pc80/mc146818rtc.h> |  | ||||||
|  |  | ||||||
| static acpi_rsdp_t *valid_rsdp(acpi_rsdp_t *rsdp); | static acpi_rsdp_t *valid_rsdp(acpi_rsdp_t *rsdp); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -24,6 +24,9 @@ static inline uint32_t read32(const void *addr) | |||||||
| 	return *(volatile uint32_t *)addr; | 	return *(volatile uint32_t *)addr; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | /* Not supported */ | ||||||
|  | uint64_t read64(const void *addr); | ||||||
|  |  | ||||||
| static inline void write8(void *addr, uint8_t val) | static inline void write8(void *addr, uint8_t val) | ||||||
| { | { | ||||||
| 	*(volatile uint8_t *)addr = val; | 	*(volatile uint8_t *)addr = val; | ||||||
| @@ -39,4 +42,7 @@ static inline void write32(void *addr, uint32_t val) | |||||||
| 	*(volatile uint32_t *)addr = val; | 	*(volatile uint32_t *)addr = val; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | /* Not supported */ | ||||||
|  | void write64(void *addr, uint64_t val); | ||||||
|  |  | ||||||
| #endif /* __ARCH_MMIO_H__ */ | #endif /* __ARCH_MMIO_H__ */ | ||||||
|   | |||||||
| @@ -29,6 +29,9 @@ static inline uint32_t read32(const void *addr) | |||||||
| 	return *(volatile uint32_t *)__builtin_assume_aligned(addr, sizeof(uint32_t)); | 	return *(volatile uint32_t *)__builtin_assume_aligned(addr, sizeof(uint32_t)); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | /* Not supported */ | ||||||
|  | uint64_t read64(const void *addr); | ||||||
|  |  | ||||||
| static inline void write8(void *addr, uint8_t val) | static inline void write8(void *addr, uint8_t val) | ||||||
| { | { | ||||||
| 	dmb(); | 	dmb(); | ||||||
| @@ -50,4 +53,7 @@ static inline void write32(void *addr, uint32_t val) | |||||||
| 	dmb(); | 	dmb(); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | /* Not supported */ | ||||||
|  | void write64(void *addr, uint64_t val); | ||||||
|  |  | ||||||
| #endif /* __ARCH_MMIO_H__ */ | #endif /* __ARCH_MMIO_H__ */ | ||||||
|   | |||||||
| @@ -45,44 +45,4 @@ static __always_inline void write64(volatile void *addr, uint64_t value) | |||||||
| 	*((volatile uint64_t *)(addr)) = value; | 	*((volatile uint64_t *)(addr)) = value; | ||||||
| } | } | ||||||
|  |  | ||||||
| static __always_inline uint8_t read8p(const uintptr_t addr) |  | ||||||
| { |  | ||||||
| 	return read8((void *)addr); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| static __always_inline uint16_t read16p(const uintptr_t addr) |  | ||||||
| { |  | ||||||
| 	return read16((void *)addr); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| static __always_inline uint32_t read32p(const uintptr_t addr) |  | ||||||
| { |  | ||||||
| 	return read32((void *)addr); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| static __always_inline uint64_t read64p(const uintptr_t addr) |  | ||||||
| { |  | ||||||
| 	return read64((void *)addr); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| static __always_inline void write8p(const uintptr_t addr, const uint8_t value) |  | ||||||
| { |  | ||||||
| 	write8((void *)addr, value); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| static __always_inline void write16p(const uintptr_t addr, const uint16_t value) |  | ||||||
| { |  | ||||||
| 	write16((void *)addr, value); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| static __always_inline void write32p(const uintptr_t addr, const uint32_t value) |  | ||||||
| { |  | ||||||
| 	write32((void *)addr, value); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| static __always_inline void write64p(const uintptr_t addr, const uint64_t value) |  | ||||||
| { |  | ||||||
| 	write64((void *)addr, value); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| #endif /* __ARCH_MMIO_H__ */ | #endif /* __ARCH_MMIO_H__ */ | ||||||
|   | |||||||
| @@ -207,4 +207,44 @@ static inline void buffer_to_fifo32(const void *buffer, size_t size, void *fifo, | |||||||
| #define READ32_BITFIELD(addr, name) \ | #define READ32_BITFIELD(addr, name) \ | ||||||
| 	EXTRACT_BITFIELD(read32(addr), name) | 	EXTRACT_BITFIELD(read32(addr), name) | ||||||
|  |  | ||||||
|  | static __always_inline uint8_t read8p(const uintptr_t addr) | ||||||
|  | { | ||||||
|  | 	return read8((void *)addr); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | static __always_inline uint16_t read16p(const uintptr_t addr) | ||||||
|  | { | ||||||
|  | 	return read16((void *)addr); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | static __always_inline uint32_t read32p(const uintptr_t addr) | ||||||
|  | { | ||||||
|  | 	return read32((void *)addr); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | static __always_inline uint64_t read64p(const uintptr_t addr) | ||||||
|  | { | ||||||
|  | 	return read64((void *)addr); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | static __always_inline void write8p(const uintptr_t addr, const uint8_t value) | ||||||
|  | { | ||||||
|  | 	write8((void *)addr, value); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | static __always_inline void write16p(const uintptr_t addr, const uint16_t value) | ||||||
|  | { | ||||||
|  | 	write16((void *)addr, value); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | static __always_inline void write32p(const uintptr_t addr, const uint32_t value) | ||||||
|  | { | ||||||
|  | 	write32((void *)addr, value); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | static __always_inline void write64p(const uintptr_t addr, const uint64_t value) | ||||||
|  | { | ||||||
|  | 	write64((void *)addr, value); | ||||||
|  | } | ||||||
|  |  | ||||||
| #endif	/* __DEVICE_MMIO_H__ */ | #endif	/* __DEVICE_MMIO_H__ */ | ||||||
|   | |||||||
| @@ -1,9 +1,9 @@ | |||||||
| /* SPDX-License-Identifier: GPL-2.0-only */ | /* SPDX-License-Identifier: GPL-2.0-only */ | ||||||
|  |  | ||||||
| #include <arch/mmio.h> |  | ||||||
| #include <console/console.h> | #include <console/console.h> | ||||||
| #include <cpu/x86/msr.h> | #include <cpu/x86/msr.h> | ||||||
| #include <cpu/intel/msr.h> | #include <cpu/intel/msr.h> | ||||||
|  | #include <device/mmio.h> | ||||||
| #include <stdint.h> | #include <stdint.h> | ||||||
| #include <security/intel/txt/txt.h> | #include <security/intel/txt/txt.h> | ||||||
|  |  | ||||||
|   | |||||||
| @@ -2,8 +2,6 @@ | |||||||
|  |  | ||||||
| #include <arch/hlt.h> | #include <arch/hlt.h> | ||||||
| #include <arch/io.h> | #include <arch/io.h> | ||||||
| #include <arch/mmio.h> |  | ||||||
| #include <device/pci_ops.h> |  | ||||||
| #include <console/console.h> | #include <console/console.h> | ||||||
| #include <cpu/x86/cache.h> | #include <cpu/x86/cache.h> | ||||||
| #include <cpu/x86/msr.h> | #include <cpu/x86/msr.h> | ||||||
| @@ -12,7 +10,9 @@ | |||||||
| #include <cpu/intel/em64t101_save_state.h> | #include <cpu/intel/em64t101_save_state.h> | ||||||
| #include <cpu/intel/msr.h> | #include <cpu/intel/msr.h> | ||||||
| #include <delay.h> | #include <delay.h> | ||||||
|  | #include <device/mmio.h> | ||||||
| #include <device/pci_def.h> | #include <device/pci_def.h> | ||||||
|  | #include <device/pci_ops.h> | ||||||
| #include <elog.h> | #include <elog.h> | ||||||
| #include <intelblocks/fast_spi.h> | #include <intelblocks/fast_spi.h> | ||||||
| #include <intelblocks/pmclib.h> | #include <intelblocks/pmclib.h> | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user