Re: [PATCH v6 08/16] clk: mediatek: reset: Support inuput argument index mode

From: AngeloGioacchino Del Regno
Date: Tue May 03 2022 - 08:37:47 EST


Il 03/05/22 11:38, Rex-BC Chen ha scritto:
There is a large number of mediatek infra reset bits, but we do not use
all of them. In addition, the proper input argement of reset controller
soulde be index.
Therefore, to be compatible with previous drivers and usage, we add
description variables to store the ids which can mapping to index.

To use this mode, we need to put the id in rst_idx_map to map from
index to ids. For example, if we want to input index 1 (this index
is used to set bank 1 bit 14) for svs, we need to declare the reset
controller like this:

In drivers:
static u16 rst_ofs[] = {
0x120, 0x130, 0x140, 0x150, 0x730,
};

static u16 rst_idx_map[] = {
0 * 32 + 0,
1 * 32 + 14,
....
};

static const struct mtk_clk_rst_desc clk_rst_desc = {
.version = MTK_RST_SET_CLR,
.rst_bank_ofs = rst_ofs,
.rst_bank_nr = ARRAY_SIZE(rst_ofs),
.rst_idx_map = rst_idx_map,
.rst_idx_map_nr = ARRAY_SIZE(rst_idx_map),
};

In dts:
svs: {
...
resets = <&infra 1>;
...
};

Signed-off-by: Rex-BC Chen <rex-bc.chen@xxxxxxxxxxxx>

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>