[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 8 Aug 2022 11:50:20 +0100
From: Ben Dooks <ben.dooks@...ethink.co.uk>
To: Petlozu Pravareshwar <petlozup@...dia.com>, jonathanh@...dia.com,
thierry.reding@...il.com, p.zabel@...gutronix.de,
dmitry.osipenko@...labora.com, ulf.hansson@...aro.org,
kkartik@...dia.com, cai.huoqing@...ux.dev, spatra@...dia.com,
linux-tegra@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] soc/tegra: pmc: Add IO Pad table for tegra234
On 05/08/2022 11:41, Petlozu Pravareshwar wrote:
> Add IO PAD table for tegra234 to allow configuring dpd mode
> and switching the pins to 1.8V or 3.3V as needed.
>
> In tegra234, DPD registers are reorganized such that there is
> a DPD_REQ register and a DPD_STATUS register per pad group.
> This change accordingly updates the PMC driver.
>
> Signed-off-by: Petlozu Pravareshwar <petlozup@...dia.com>
> ---
> drivers/soc/tegra/pmc.c | 116 ++++++++++++++++++++++++++++++++++++++--
> 1 file changed, 112 insertions(+), 4 deletions(-)
snip
> /**
> @@ -1546,6 +1560,14 @@ static int tegra_io_pad_get_dpd_register_bit(struct tegra_pmc *pmc,
> if (pad->dpd == UINT_MAX)
> return -ENOTSUPP;
>
> + if (pmc->soc->has_reorg_hw_dpd_reg_impl) {
> + *mask = BIT(pad->dpd);
> + *status = pmc->soc->regs->reorg_dpd_status[pad->reg_index];
> + *request = pmc->soc->regs->reorg_dpd_req[pad->reg_index];
> +
> + goto done;
> + }
> +
> *mask = BIT(pad->dpd % 32);
>
> if (pad->dpd < 32) {
> @@ -1556,6 +1578,7 @@ static int tegra_io_pad_get_dpd_register_bit(struct tegra_pmc *pmc,
> *request = pmc->soc->regs->dpd2_req;
> }
>
> +done:
> return 0;
> }
>
> @@ -3132,6 +3155,7 @@ static const struct tegra_pmc_soc tegra20_pmc_soc = {
> .num_pmc_clks = 0,
> .has_blink_output = true,
> .has_usb_sleepwalk = true,
> + .has_reorg_hw_dpd_reg_impl = false,
> };
I don't think you need to set false values in these blocks, the
default should be false.
--
Ben Dooks http://www.codethink.co.uk/
Senior Engineer Codethink - Providing Genius
https://www.codethink.co.uk/privacy.html
Powered by blists - more mailing lists