diff options
Diffstat (limited to 'board')
-rw-r--r-- | board/altera/socfpga/Makefile | 2 | ||||
-rw-r--r-- | board/altera/socfpga/qts/Makefile | 2 | ||||
-rw-r--r-- | board/altera/socfpga/wrap_iocsr_config.c | 41 |
3 files changed, 43 insertions, 2 deletions
diff --git a/board/altera/socfpga/Makefile b/board/altera/socfpga/Makefile index f541227..7cd4ef9 100644 --- a/board/altera/socfpga/Makefile +++ b/board/altera/socfpga/Makefile @@ -7,4 +7,4 @@ # obj-y := socfpga.o wrap_pll_config.o -obj-$(CONFIG_SPL_BUILD) += qts/ +obj-$(CONFIG_SPL_BUILD) += qts/ wrap_iocsr_config.o diff --git a/board/altera/socfpga/qts/Makefile b/board/altera/socfpga/qts/Makefile index dbcedd8..cd8fecc 100644 --- a/board/altera/socfpga/qts/Makefile +++ b/board/altera/socfpga/qts/Makefile @@ -4,4 +4,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -obj-y += pinmux_config.o iocsr_config.o +obj-y += pinmux_config.o diff --git a/board/altera/socfpga/wrap_iocsr_config.c b/board/altera/socfpga/wrap_iocsr_config.c new file mode 100644 index 0000000..49e9228 --- /dev/null +++ b/board/altera/socfpga/wrap_iocsr_config.c @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2015 Marek Vasut <marex@denx.de> + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include <common.h> +#include <errno.h> +#include <asm/arch/clock_manager.h> +/* + * Yes, dear reader, we're including a C file here, this is no mistake :-) + */ +#include "qts/iocsr_config.c" + +int iocsr_get_config_table(const unsigned int chain_id, + const unsigned long **table, + unsigned int *table_len) +{ + switch (chain_id) { + case 0: + *table = iocsr_scan_chain0_table; + *table_len = CONFIG_HPS_IOCSR_SCANCHAIN0_LENGTH; + break; + case 1: + *table = iocsr_scan_chain1_table; + *table_len = CONFIG_HPS_IOCSR_SCANCHAIN1_LENGTH; + break; + case 2: + *table = iocsr_scan_chain2_table; + *table_len = CONFIG_HPS_IOCSR_SCANCHAIN2_LENGTH; + break; + case 3: + *table = iocsr_scan_chain3_table; + *table_len = CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH; + break; + default: + return -EINVAL; + } + + return 0; +} |