1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */
25ffa88ecSLiu Gang /*
35ffa88ecSLiu Gang  * Copyright 2011-2012 Freescale Semiconductor, Inc.
45ffa88ecSLiu Gang  */
55ffa88ecSLiu Gang 
65ffa88ecSLiu Gang #ifndef _FSL_SRIO_H_
75ffa88ecSLiu Gang #define _FSL_SRIO_H_
85ffa88ecSLiu Gang 
92d2f490dSFabio Estevam #include <linux/log2.h>
102d2f490dSFabio Estevam 
115ffa88ecSLiu Gang enum atmu_size {
125ffa88ecSLiu Gang 	ATMU_SIZE_4K = 0xb,
135ffa88ecSLiu Gang 	ATMU_SIZE_8K,
145ffa88ecSLiu Gang 	ATMU_SIZE_16K,
155ffa88ecSLiu Gang 	ATMU_SIZE_32K,
165ffa88ecSLiu Gang 	ATMU_SIZE_64K,
175ffa88ecSLiu Gang 	ATMU_SIZE_128K,
185ffa88ecSLiu Gang 	ATMU_SIZE_256K,
195ffa88ecSLiu Gang 	ATMU_SIZE_512K,
205ffa88ecSLiu Gang 	ATMU_SIZE_1M,
215ffa88ecSLiu Gang 	ATMU_SIZE_2M,
225ffa88ecSLiu Gang 	ATMU_SIZE_4M,
235ffa88ecSLiu Gang 	ATMU_SIZE_8M,
245ffa88ecSLiu Gang 	ATMU_SIZE_16M,
255ffa88ecSLiu Gang 	ATMU_SIZE_32M,
265ffa88ecSLiu Gang 	ATMU_SIZE_64M,
275ffa88ecSLiu Gang 	ATMU_SIZE_128M,
285ffa88ecSLiu Gang 	ATMU_SIZE_256M,
295ffa88ecSLiu Gang 	ATMU_SIZE_512M,
305ffa88ecSLiu Gang 	ATMU_SIZE_1G,
315ffa88ecSLiu Gang 	ATMU_SIZE_2G,
325ffa88ecSLiu Gang 	ATMU_SIZE_4G,
335ffa88ecSLiu Gang 	ATMU_SIZE_8G,
345ffa88ecSLiu Gang 	ATMU_SIZE_16G,
355ffa88ecSLiu Gang 	ATMU_SIZE_32G,
365ffa88ecSLiu Gang 	ATMU_SIZE_64G,
375ffa88ecSLiu Gang };
385ffa88ecSLiu Gang 
395ffa88ecSLiu Gang #define atmu_size_mask(sz)	(__ilog2_u64(sz) - 1)
405ffa88ecSLiu Gang #define atmu_size_bytes(x)	(1ULL << ((x & 0x3f) + 1))
415ffa88ecSLiu Gang 
425ffa88ecSLiu Gang extern void srio_init(void);
43ff65f126SLiu Gang #ifdef CONFIG_FSL_CORENET
44ff65f126SLiu Gang extern void srio_boot_master(int port);
45ff65f126SLiu Gang extern void srio_boot_master_release_slave(int port);
465ffa88ecSLiu Gang #endif
475ffa88ecSLiu Gang #endif
48