xref: /rk3399_rockchip-uboot/board/keymile/kmp204x/law.c (revision 877bfe37dc00b0ae59f37742954a62bce3fdf3a0)
1*877bfe37SValentin Longchamp /*
2*877bfe37SValentin Longchamp  * (C) Copyright 2013 Keymile AG
3*877bfe37SValentin Longchamp  * Valentin Longchamp <valentin.longchamp@keymile.com>
4*877bfe37SValentin Longchamp  *
5*877bfe37SValentin Longchamp  * Copyright 2008-2011 Freescale Semiconductor, Inc.
6*877bfe37SValentin Longchamp  *
7*877bfe37SValentin Longchamp  * (C) Copyright 2000
8*877bfe37SValentin Longchamp  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
9*877bfe37SValentin Longchamp  *
10*877bfe37SValentin Longchamp  * SPDX-License-Identifier:	GPL-2.0+
11*877bfe37SValentin Longchamp  */
12*877bfe37SValentin Longchamp 
13*877bfe37SValentin Longchamp #include <common.h>
14*877bfe37SValentin Longchamp #include <asm/fsl_law.h>
15*877bfe37SValentin Longchamp #include <asm/mmu.h>
16*877bfe37SValentin Longchamp 
17*877bfe37SValentin Longchamp struct law_entry law_table[] = {
18*877bfe37SValentin Longchamp #ifdef CONFIG_SYS_BMAN_MEM_PHYS
19*877bfe37SValentin Longchamp 	SET_LAW(CONFIG_SYS_BMAN_MEM_PHYS, LAW_SIZE_2M, LAW_TRGT_IF_BMAN),
20*877bfe37SValentin Longchamp #endif
21*877bfe37SValentin Longchamp #ifdef CONFIG_SYS_QMAN_MEM_PHYS
22*877bfe37SValentin Longchamp 	SET_LAW(CONFIG_SYS_QMAN_MEM_PHYS, LAW_SIZE_2M, LAW_TRGT_IF_QMAN),
23*877bfe37SValentin Longchamp #endif
24*877bfe37SValentin Longchamp #ifdef CONFIG_SYS_DCSRBAR_PHYS
25*877bfe37SValentin Longchamp 	/* Limit DCSR to 32M to access NPC Trace Buffer */
26*877bfe37SValentin Longchamp 	SET_LAW(CONFIG_SYS_DCSRBAR_PHYS, LAW_SIZE_32M, LAW_TRGT_IF_DCSR),
27*877bfe37SValentin Longchamp #endif
28*877bfe37SValentin Longchamp #ifdef CONFIG_SYS_NAND_BASE_PHYS
29*877bfe37SValentin Longchamp 	SET_LAW(CONFIG_SYS_NAND_BASE_PHYS, LAW_SIZE_32K, LAW_TRGT_IF_LBC),
30*877bfe37SValentin Longchamp #endif
31*877bfe37SValentin Longchamp 	SET_LAW(CONFIG_SYS_QRIO_BASE_PHYS, LAW_SIZE_64K, LAW_TRGT_IF_LBC),
32*877bfe37SValentin Longchamp #ifdef CONFIG_SYS_LBAPP1_BASE_PHYS
33*877bfe37SValentin Longchamp 	SET_LAW(CONFIG_SYS_LBAPP1_BASE_PHYS, LAW_SIZE_256M, LAW_TRGT_IF_LBC),
34*877bfe37SValentin Longchamp #endif
35*877bfe37SValentin Longchamp #ifdef CONFIG_SYS_LBAPP2_BASE_PHYS
36*877bfe37SValentin Longchamp 	SET_LAW(CONFIG_SYS_LBAPP2_BASE_PHYS, LAW_SIZE_256M, LAW_TRGT_IF_LBC),
37*877bfe37SValentin Longchamp #endif
38*877bfe37SValentin Longchamp };
39*877bfe37SValentin Longchamp 
40*877bfe37SValentin Longchamp int num_law_entries = ARRAY_SIZE(law_table);
41