u-boot/arch/arm/mach-k3/j7200/dev-data.c
Dave Gerlach 277729eaf3 arm: mach-k3: Add platform data for j721e and j7200
Add platform clock and powerdomain data for J721e and J7200. This data
is used by the corresponding drivers to register all the required device
clocks and powerdomains.

Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
Signed-off-by: Tero Kristo <kristo@kernel.org>
2021-06-11 16:34:52 +05:30

77 lines
2.7 KiB
C

// SPDX-License-Identifier: GPL-2.0+
/*
* J7200 specific device platform data
*
* Copyright (C) 2020-2021 Texas Instruments Incorporated - http://www.ti.com/
*/
#include "k3-dev.h"
static struct ti_psc soc_psc_list[] = {
[0] = PSC(0, 0x00400000),
[1] = PSC(1, 0x42000000),
};
static struct ti_pd soc_pd_list[] = {
[0] = PSC_PD(0, &soc_psc_list[0], NULL),
[1] = PSC_PD(2, &soc_psc_list[0], &soc_pd_list[5]),
[2] = PSC_PD(14, &soc_psc_list[0], NULL),
[3] = PSC_PD(15, &soc_psc_list[0], &soc_pd_list[2]),
[4] = PSC_PD(16, &soc_psc_list[0], &soc_pd_list[2]),
[5] = PSC_PD(0, &soc_psc_list[1], NULL),
};
static struct ti_lpsc soc_lpsc_list[] = {
[0] = PSC_LPSC(0, &soc_psc_list[0], &soc_pd_list[0], NULL),
[1] = PSC_LPSC(9, &soc_psc_list[0], &soc_pd_list[0], &soc_lpsc_list[14]),
[2] = PSC_LPSC(14, &soc_psc_list[0], &soc_pd_list[0], &soc_lpsc_list[3]),
[3] = PSC_LPSC(15, &soc_psc_list[0], &soc_pd_list[0], NULL),
[4] = PSC_LPSC(20, &soc_psc_list[0], &soc_pd_list[0], NULL),
[5] = PSC_LPSC(23, &soc_psc_list[0], &soc_pd_list[0], NULL),
[6] = PSC_LPSC(25, &soc_psc_list[0], &soc_pd_list[0], NULL),
[7] = PSC_LPSC(54, &soc_psc_list[0], &soc_pd_list[1], NULL),
[8] = PSC_LPSC(78, &soc_psc_list[0], &soc_pd_list[2], NULL),
[9] = PSC_LPSC(79, &soc_psc_list[0], &soc_pd_list[2], &soc_lpsc_list[8]),
[10] = PSC_LPSC(80, &soc_psc_list[0], &soc_pd_list[3], &soc_lpsc_list[8]),
[11] = PSC_LPSC(81, &soc_psc_list[0], &soc_pd_list[4], &soc_lpsc_list[8]),
[12] = PSC_LPSC(0, &soc_psc_list[1], &soc_pd_list[5], NULL),
[13] = PSC_LPSC(3, &soc_psc_list[1], &soc_pd_list[5], NULL),
[14] = PSC_LPSC(10, &soc_psc_list[1], &soc_pd_list[5], NULL),
[15] = PSC_LPSC(11, &soc_psc_list[1], &soc_pd_list[5], NULL),
[16] = PSC_LPSC(12, &soc_psc_list[1], &soc_pd_list[5], NULL),
};
static struct ti_dev soc_dev_list[] = {
PSC_DEV(30, &soc_lpsc_list[0]),
PSC_DEV(61, &soc_lpsc_list[1]),
PSC_DEV(90, &soc_lpsc_list[2]),
PSC_DEV(8, &soc_lpsc_list[3]),
PSC_DEV(288, &soc_lpsc_list[4]),
PSC_DEV(92, &soc_lpsc_list[5]),
PSC_DEV(91, &soc_lpsc_list[6]),
PSC_DEV(146, &soc_lpsc_list[7]),
PSC_DEV(4, &soc_lpsc_list[8]),
PSC_DEV(4, &soc_lpsc_list[9]),
PSC_DEV(202, &soc_lpsc_list[10]),
PSC_DEV(203, &soc_lpsc_list[11]),
PSC_DEV(102, &soc_lpsc_list[12]),
PSC_DEV(103, &soc_lpsc_list[12]),
PSC_DEV(104, &soc_lpsc_list[12]),
PSC_DEV(154, &soc_lpsc_list[12]),
PSC_DEV(149, &soc_lpsc_list[12]),
PSC_DEV(113, &soc_lpsc_list[13]),
PSC_DEV(197, &soc_lpsc_list[13]),
PSC_DEV(103, &soc_lpsc_list[14]),
PSC_DEV(104, &soc_lpsc_list[15]),
PSC_DEV(102, &soc_lpsc_list[16]),
};
const struct ti_k3_pd_platdata j7200_pd_platdata = {
.psc = soc_psc_list,
.pd = soc_pd_list,
.lpsc = soc_lpsc_list,
.devs = soc_dev_list,
.num_psc = 2,
.num_pd = 6,
.num_lpsc = 17,
.num_devs = 22,
};