soc: ti: k3-navss-ringacc: Initialize base address of ring cfg registers
Initialize base address of ring config registers required to natively setup ring cfg registers in the absence of Device Manager (DM) services at R5 SPL stage. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
This commit is contained in:
parent
07557018ce
commit
75acccd29c
|
|
@ -1029,8 +1029,8 @@ static int k3_nav_ringacc_init(struct udevice *dev, struct k3_nav_ringacc *ringa
|
|||
struct k3_nav_ringacc *k3_ringacc_dmarings_init(struct udevice *dev,
|
||||
struct k3_ringacc_init_data *data)
|
||||
{
|
||||
void __iomem *base_rt, *base_cfg;
|
||||
struct k3_nav_ringacc *ringacc;
|
||||
void __iomem *base_rt;
|
||||
int i;
|
||||
|
||||
ringacc = devm_kzalloc(dev, sizeof(*ringacc), GFP_KERNEL);
|
||||
|
|
@ -1048,6 +1048,10 @@ struct k3_nav_ringacc *k3_ringacc_dmarings_init(struct udevice *dev,
|
|||
if (IS_ERR(base_rt))
|
||||
return base_rt;
|
||||
|
||||
base_cfg = (uint32_t *)devfdt_get_addr_name(dev, "cfg");
|
||||
if (IS_ERR(base_cfg))
|
||||
return base_cfg;
|
||||
|
||||
ringacc->rings = devm_kzalloc(dev,
|
||||
sizeof(*ringacc->rings) *
|
||||
ringacc->num_rings * 2,
|
||||
|
|
@ -1062,6 +1066,7 @@ struct k3_nav_ringacc *k3_ringacc_dmarings_init(struct udevice *dev,
|
|||
for (i = 0; i < ringacc->num_rings; i++) {
|
||||
struct k3_nav_ring *ring = &ringacc->rings[i];
|
||||
|
||||
ring->cfg = base_cfg + KNAV_RINGACC_CFG_REGS_STEP * i;
|
||||
ring->rt = base_rt + k3_dmaring_RING_RT_REGS_STEP * i;
|
||||
ring->parent = ringacc;
|
||||
ring->ring_id = i;
|
||||
|
|
|
|||
Loading…
Reference in New Issue