Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1527043 > unrolled thread
| Started by | Jon Hunter <jonathanh@nvidia.com> |
|---|---|
| First post | 2016-11-21 22:10 +0100 |
| Last post | 2016-11-22 10:50 +0100 |
| Articles | 4 — 3 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [PATCH V2 2/2] pinctrl: tegra: Add driver to configure voltage and power of io pads Jon Hunter <jonathanh@nvidia.com> - 2016-11-21 22:10 +0100
Re: [PATCH V2 2/2] pinctrl: tegra: Add driver to configure voltage and power of io pads Laxman Dewangan <ldewangan@nvidia.com> - 2016-11-22 09:40 +0100
Re: [PATCH V2 2/2] pinctrl: tegra: Add driver to configure voltage and power of io pads Joe Perches <joe@perches.com> - 2016-11-22 10:50 +0100
Re: [PATCH V2 2/2] pinctrl: tegra: Add driver to configure voltage and power of io pads Laxman Dewangan <ldewangan@nvidia.com> - 2016-11-22 10:50 +0100
| From | Jon Hunter <jonathanh@nvidia.com> |
|---|---|
| Date | 2016-11-21 22:10 +0100 |
| Subject | Re: [PATCH V2 2/2] pinctrl: tegra: Add driver to configure voltage and power of io pads |
| Message-ID | <sG40G-6qg-37@gated-at.bofh.it> |
On 09/11/16 13:06, Laxman Dewangan wrote: > NVIDIA Tegra124 and later SoCs support the multi-voltage level and > low power state of some of its IO pads. The IO pads can work in > the voltage of the 1.8V and 3.3V of IO voltage from IO power rail > sources. When IO interfaces are not used then IO pads can be > configure in low power state to reduce the power consumption from > that IO pads. > > On Tegra124, the voltage level of IO power rail source is auto > detected by hardware(SoC) and hence it is only require to configure > in low power mode if IO pads are not used. > > On T210 onwards, the auto-detection of voltage level from IO power > rail is removed from SoC and hence SW need to configure the PMC > register explicitly to set proper voltage in IO pads based on > IO rail power source voltage. > > This driver adds the IO pad driver to configure the power state and > IO pad voltage based on the usage and power tree via pincontrol > framework. The configuration can be static and dynamic. > > Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> > > --- > Changes from V1: > - Dropped the custom properties to set pad voltage and use regulator. > - Added support for regulator to get vottage in boot and configure IO > pad voltage. > - Add support for callback to handle regulator notification and configure > IO pad voltage based on voltage change. > --- > drivers/pinctrl/tegra/Kconfig | 12 + > drivers/pinctrl/tegra/Makefile | 1 + > drivers/pinctrl/tegra/pinctrl-tegra-io-pad.c | 488 +++++++++++++++++++++++++++ > 3 files changed, 501 insertions(+) > create mode 100644 drivers/pinctrl/tegra/pinctrl-tegra-io-pad.c ... > +#define TEGRA124_PAD_INFO_TABLE(_entry_) \ > + _entry_(0, "audio", AUDIO, true, NULL), \ > + _entry_(1, "bb", BB, true, NULL), \ > + _entry_(2, "cam", CAM, true, NULL), \ > + _entry_(3, "comp", COMP, true, NULL), \ > + _entry_(4, "csia", CSIA, true, NULL), \ > + _entry_(5, "csib", CSIB, true, NULL), \ > + _entry_(6, "csie", CSIE, true, NULL), \ > + _entry_(7, "dsi", DSI, true, NULL), \ > + _entry_(8, "dsib", DSIB, true, NULL), \ > + _entry_(9, "dsic", DSIC, true, NULL), \ > + _entry_(10, "dsid", DSID, true, NULL), \ > + _entry_(11, "hdmi", HDMI, true, NULL), \ > + _entry_(12, "hsic", HSIC, true, NULL), \ > + _entry_(13, "hv", HV, true, NULL), \ > + _entry_(14, "lvds", LVDS, true, NULL), \ > + _entry_(15, "mipi-bias", MIPI_BIAS, true, NULL), \ > + _entry_(16, "nand", NAND, true, NULL), \ > + _entry_(17, "pex-bias", PEX_BIAS, true, NULL), \ > + _entry_(18, "pex-clk1", PEX_CLK1, true, NULL), \ > + _entry_(19, "pex-clk2", PEX_CLK2, true, NULL), \ > + _entry_(20, "pex-ctrl", PEX_CNTRL, true, NULL), \ > + _entry_(21, "sdmmc1", SDMMC1, true, NULL), \ > + _entry_(22, "sdmmc3", SDMMC3, true, NULL), \ > + _entry_(23, "sdmmc4", SDMMC4, true, NULL), \ > + _entry_(24, "sys-ddc", SYS_DDC, true, NULL), \ > + _entry_(25, "uart", UART, true, NULL), \ > + _entry_(26, "usb0", USB0, true, NULL), \ > + _entry_(27, "usb1", USB1, true, NULL), \ > + _entry_(28, "usb2", USB2, true, NULL), \ > + _entry_(29, "usb-bias", USB_BIAS, true, NULL) > + > +#define TEGRA210_PAD_INFO_TABLE(_entry_) \ > + _entry_(0, "audio", AUDIO, true, "vddio-audio"), \ > + _entry_(1, "audio-hv", AUDIO_HV, true, "vddio-audio-hv"), \ > + _entry_(2, "cam", CAM, true, "vddio-cam"), \ > + _entry_(3, "csia", CSIA, true, NULL), \ > + _entry_(4, "csib", CSIB, true, NULL), \ > + _entry_(5, "csic", CSIC, true, NULL), \ > + _entry_(6, "csid", CSID, true, NULL), \ > + _entry_(7, "csie", CSIE, true, NULL), \ > + _entry_(8, "csif", CSIF, true, NULL), \ > + _entry_(9, "dbg", DBG, true, "vddio-dbg"), \ > + _entry_(10, "debug-nonao", DEBUG_NONAO, true, NULL), \ > + _entry_(11, "dmic", DMIC, true, "vddio-dmic"), \ > + _entry_(12, "dp", DP, true, NULL), \ > + _entry_(13, "dsi", DSI, true, NULL), \ > + _entry_(14, "dsib", DSIB, true, NULL), \ > + _entry_(15, "dsic", DSIC, true, NULL), \ > + _entry_(16, "dsid", DSID, true, NULL), \ > + _entry_(17, "emmc", SDMMC4, true, NULL), \ > + _entry_(18, "emmc2", EMMC2, true, NULL), \ > + _entry_(19, "gpio", GPIO, true, "vddio-gpio"), \ > + _entry_(20, "hdmi", HDMI, true, NULL), \ > + _entry_(21, "hsic", HSIC, true, NULL), \ > + _entry_(22, "lvds", LVDS, true, NULL), \ > + _entry_(23, "mipi-bias", MIPI_BIAS, true, NULL), \ > + _entry_(24, "pex-bias", PEX_BIAS, true, NULL), \ > + _entry_(25, "pex-clk1", PEX_CLK1, true, NULL), \ > + _entry_(26, "pex-clk2", PEX_CLK2, true, NULL), \ > + _entry_(27, "pex-ctrl", PEX_CNTRL, false, "vddio-pex-ctrl"), \ > + _entry_(28, "sdmmc1", SDMMC1, true, "vddio-sdmmc1"), \ > + _entry_(29, "sdmmc3", SDMMC3, true, "vddio-sdmmc3"), \ > + _entry_(30, "spi", SPI, true, "vddio-spi"), \ > + _entry_(31, "spi-hv", SPI_HV, true, "vddio-spi-hv"), \ > + _entry_(32, "uart", UART, true, "vddio-uart"), \ > + _entry_(33, "usb0", USB0, true, NULL), \ > + _entry_(34, "usb1", USB1, true, NULL), \ > + _entry_(35, "usb2", USB2, true, NULL), \ > + _entry_(36, "usb3", USB3, true, NULL), \ > + _entry_(37, "usb-bias", USB_BIAS, true, NULL) Can you also fix these checkpatch errors ... ERROR: Macros with complex values should be enclosed in parentheses #424: FILE: drivers/pinctrl/tegra/pinctrl-tegra-io-pad.c:350: ERROR: Macros with complex values should be enclosed in parentheses #456: FILE: drivers/pinctrl/tegra/pinctrl-tegra-io-pad.c:382: Cheers Jon -- nvpublic
[toc] | [next] | [standalone]
| From | Laxman Dewangan <ldewangan@nvidia.com> |
|---|---|
| Date | 2016-11-22 09:40 +0100 |
| Message-ID | <sGeMq-4LC-11@gated-at.bofh.it> |
| In reply to | #1527043 |
On Tuesday 22 November 2016 02:31 AM, Jon Hunter wrote: > On 09/11/16 13:06, Laxman Dewangan wrote: > + _entry_(32, "uart", UART, true, "vddio-uart"), \ > + _entry_(33, "usb0", USB0, true, NULL), \ > + _entry_(34, "usb1", USB1, true, NULL), \ > + _entry_(35, "usb2", USB2, true, NULL), \ > + _entry_(36, "usb3", USB3, true, NULL), \ > + _entry_(37, "usb-bias", USB_BIAS, true, NULL) > Can you also fix these checkpatch errors ... > > ERROR: Macros with complex values should be enclosed in parentheses > #424: FILE: drivers/pinctrl/tegra/pinctrl-tegra-io-pad.c:350: > > ERROR: Macros with complex values should be enclosed in parentheses > #456: FILE: drivers/pinctrl/tegra/pinctrl-tegra-io-pad.c:382: I can fix this but will still have the error as: CHECK: Macro argument reuse '_entry_' - possible side-effects? #425: FILE: drivers/pinctrl/tegra/pinctrl-tegra-io-pad.c:425: And there is no better way to fix this.
[toc] | [prev] | [next] | [standalone]
| From | Joe Perches <joe@perches.com> |
|---|---|
| Date | 2016-11-22 10:50 +0100 |
| Message-ID | <sGfS9-5nS-1@gated-at.bofh.it> |
| In reply to | #1527303 |
On Tue, 2016-11-22 at 13:45 +0530, Laxman Dewangan wrote: > On Tuesday 22 November 2016 02:31 AM, Jon Hunter wrote: > > On 09/11/16 13:06, Laxman Dewangan wrote: > > + _entry_(32, "uart", UART, true, "vddio-uart"), \ > > + _entry_(33, "usb0", USB0, true, NULL), \ > > + _entry_(34, "usb1", USB1, true, NULL), \ > > + _entry_(35, "usb2", USB2, true, NULL), \ > > + _entry_(36, "usb3", USB3, true, NULL), \ > > + _entry_(37, "usb-bias", USB_BIAS, true, NULL) > > Can you also fix these checkpatch errors ... > > > > ERROR: Macros with complex values should be enclosed in parentheses > > #424: FILE: drivers/pinctrl/tegra/pinctrl-tegra-io-pad.c:350: > > > > ERROR: Macros with complex values should be enclosed in parentheses > > #456: FILE: drivers/pinctrl/tegra/pinctrl-tegra-io-pad.c:382: > > I can fix this but will still have the error as: > > CHECK: Macro argument reuse '_entry_' - possible side-effects? > #425: FILE: drivers/pinctrl/tegra/pinctrl-tegra-io-pad.c:425: > > > And there is no better way to fix this. It's a stupid little script, feel free to ignore it.
[toc] | [prev] | [next] | [standalone]
| From | Laxman Dewangan <ldewangan@nvidia.com> |
|---|---|
| Date | 2016-11-22 10:50 +0100 |
| Message-ID | <sGfSa-5nS-13@gated-at.bofh.it> |
| In reply to | #1527339 |
On Tuesday 22 November 2016 03:15 PM, Joe Perches wrote: > On Tue, 2016-11-22 at 13:45 +0530, Laxman Dewangan wrote: >> On Tuesday 22 November 2016 02:31 AM, Jon Hunter wrote: >>> On 09/11/16 13:06, Laxman Dewangan wrote: >>> + _entry_(32, "uart", UART, true, "vddio-uart"), \ >>> + _entry_(33, "usb0", USB0, true, NULL), \ >>> + _entry_(34, "usb1", USB1, true, NULL), \ >>> + _entry_(35, "usb2", USB2, true, NULL), \ >>> + _entry_(36, "usb3", USB3, true, NULL), \ >>> + _entry_(37, "usb-bias", USB_BIAS, true, NULL) >>> Can you also fix these checkpatch errors ... >>> >>> ERROR: Macros with complex values should be enclosed in parentheses >>> #424: FILE: drivers/pinctrl/tegra/pinctrl-tegra-io-pad.c:350: >>> >>> ERROR: Macros with complex values should be enclosed in parentheses >>> #456: FILE: drivers/pinctrl/tegra/pinctrl-tegra-io-pad.c:382: >> I can fix this but will still have the error as: >> >> CHECK: Macro argument reuse '_entry_' - possible side-effects? >> #425: FILE: drivers/pinctrl/tegra/pinctrl-tegra-io-pad.c:425: >> >> >> And there is no better way to fix this. > It's a stupid little script, feel free to ignore it. And when I tried to add the parenthesis, it failed in compilation. So in this case, we just need to ignore the error of Macros with complex values should be enclosed in parentheses
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web