blob: 43ce329dd10fe2237b7cbae15ba343fcae334ec0 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0+
Marek Vasut9c3e0062015-07-25 09:53:23 +02002/*
3 * Copyright (C) 2015 Marek Vasut <marex@denx.de>
Marek Vasut9c3e0062015-07-25 09:53:23 +02004 */
5
Tom Rinidec7ea02024-05-20 13:35:03 -06006#include <config.h>
Marek Vasut9c3e0062015-07-25 09:53:23 +02007#include <errno.h>
8#include <asm/arch/clock_manager.h>
Marek Vasut372f70d2015-08-10 21:21:07 +02009
10/* Board-specific header. */
11#include <qts/iocsr_config.h>
Marek Vasut9c3e0062015-07-25 09:53:23 +020012
13int iocsr_get_config_table(const unsigned int chain_id,
14 const unsigned long **table,
15 unsigned int *table_len)
16{
17 switch (chain_id) {
18 case 0:
19 *table = iocsr_scan_chain0_table;
Tom Rinidcdd3bd2022-10-28 20:27:14 -040020 *table_len = CFG_HPS_IOCSR_SCANCHAIN0_LENGTH;
Marek Vasut9c3e0062015-07-25 09:53:23 +020021 break;
22 case 1:
23 *table = iocsr_scan_chain1_table;
Tom Rinidcdd3bd2022-10-28 20:27:14 -040024 *table_len = CFG_HPS_IOCSR_SCANCHAIN1_LENGTH;
Marek Vasut9c3e0062015-07-25 09:53:23 +020025 break;
26 case 2:
27 *table = iocsr_scan_chain2_table;
Tom Rinidcdd3bd2022-10-28 20:27:14 -040028 *table_len = CFG_HPS_IOCSR_SCANCHAIN2_LENGTH;
Marek Vasut9c3e0062015-07-25 09:53:23 +020029 break;
30 case 3:
31 *table = iocsr_scan_chain3_table;
Tom Rinidcdd3bd2022-10-28 20:27:14 -040032 *table_len = CFG_HPS_IOCSR_SCANCHAIN3_LENGTH;
Marek Vasut9c3e0062015-07-25 09:53:23 +020033 break;
34 default:
35 return -EINVAL;
36 }
37
38 return 0;
39}