xref: /openbmc/u-boot/board/keymile/kmp204x/law.c (revision 83d290c56fab2d38cd1ab4c4cc7099559c1d5046)
1*83d290c5STom Rini // SPDX-License-Identifier: GPL-2.0+
2877bfe37SValentin Longchamp /*
3877bfe37SValentin Longchamp  * (C) Copyright 2013 Keymile AG
4877bfe37SValentin Longchamp  * Valentin Longchamp <valentin.longchamp@keymile.com>
5877bfe37SValentin Longchamp  *
6877bfe37SValentin Longchamp  * Copyright 2008-2011 Freescale Semiconductor, Inc.
7877bfe37SValentin Longchamp  *
8877bfe37SValentin Longchamp  * (C) Copyright 2000
9877bfe37SValentin Longchamp  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
10877bfe37SValentin Longchamp  */
11877bfe37SValentin Longchamp 
12877bfe37SValentin Longchamp #include <common.h>
13877bfe37SValentin Longchamp #include <asm/fsl_law.h>
14877bfe37SValentin Longchamp #include <asm/mmu.h>
15877bfe37SValentin Longchamp 
16877bfe37SValentin Longchamp struct law_entry law_table[] = {
17877bfe37SValentin Longchamp #ifdef CONFIG_SYS_BMAN_MEM_PHYS
18877bfe37SValentin Longchamp 	SET_LAW(CONFIG_SYS_BMAN_MEM_PHYS, LAW_SIZE_2M, LAW_TRGT_IF_BMAN),
19877bfe37SValentin Longchamp #endif
20877bfe37SValentin Longchamp #ifdef CONFIG_SYS_QMAN_MEM_PHYS
21877bfe37SValentin Longchamp 	SET_LAW(CONFIG_SYS_QMAN_MEM_PHYS, LAW_SIZE_2M, LAW_TRGT_IF_QMAN),
22877bfe37SValentin Longchamp #endif
23877bfe37SValentin Longchamp #ifdef CONFIG_SYS_DCSRBAR_PHYS
24877bfe37SValentin Longchamp 	/* Limit DCSR to 32M to access NPC Trace Buffer */
25877bfe37SValentin Longchamp 	SET_LAW(CONFIG_SYS_DCSRBAR_PHYS, LAW_SIZE_32M, LAW_TRGT_IF_DCSR),
26877bfe37SValentin Longchamp #endif
27877bfe37SValentin Longchamp #ifdef CONFIG_SYS_NAND_BASE_PHYS
28877bfe37SValentin Longchamp 	SET_LAW(CONFIG_SYS_NAND_BASE_PHYS, LAW_SIZE_32K, LAW_TRGT_IF_LBC),
29877bfe37SValentin Longchamp #endif
30877bfe37SValentin Longchamp 	SET_LAW(CONFIG_SYS_QRIO_BASE_PHYS, LAW_SIZE_64K, LAW_TRGT_IF_LBC),
31877bfe37SValentin Longchamp #ifdef CONFIG_SYS_LBAPP1_BASE_PHYS
32877bfe37SValentin Longchamp 	SET_LAW(CONFIG_SYS_LBAPP1_BASE_PHYS, LAW_SIZE_256M, LAW_TRGT_IF_LBC),
33877bfe37SValentin Longchamp #endif
34877bfe37SValentin Longchamp #ifdef CONFIG_SYS_LBAPP2_BASE_PHYS
35877bfe37SValentin Longchamp 	SET_LAW(CONFIG_SYS_LBAPP2_BASE_PHYS, LAW_SIZE_256M, LAW_TRGT_IF_LBC),
36877bfe37SValentin Longchamp #endif
37877bfe37SValentin Longchamp };
38877bfe37SValentin Longchamp 
39877bfe37SValentin Longchamp int num_law_entries = ARRAY_SIZE(law_table);
40