Re: [PATCH] soc/tegra: pmc: Add IO Pad table for tegra234

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>
---
  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



[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux