Messages in this thread | | | Date | Mon, 7 Aug 2023 11:16:25 -0500 | Subject | Re: [PATCH 10/13] arm64: dts: ti: k3-j7200: Enable GPIO nodes at the board level | From | Andrew Davis <> |
| |
On 8/7/23 10:42 AM, Nishanth Menon wrote: > On 10:28-20230807, Andrew Davis wrote: >> On 8/7/23 12:38 AM, Dhruva Gole wrote: >>> Andrew, >>> >>> On 03/08/23 02:23, Andrew Davis wrote: >>>> GPIO nodes defined in the top-level J7200 SoC dtsi files are incomplete >>>> and may not be functional unless they are extended with pinmux and >>>> device information. >>>> >>>> Disable the GPIO nodes in the dtsi files and only enable the ones that >>>> are actually pinned out on a given board. >>>> >>>> Signed-off-by: Andrew Davis <afd@ti.com> >>>> --- >>>> .../boot/dts/ti/k3-j7200-common-proc-board.dts | 18 ++++-------------- >>>> arch/arm64/boot/dts/ti/k3-j7200-main.dtsi | 4 ++++ >>>> .../arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi | 2 ++ >>>> 3 files changed, 10 insertions(+), 14 deletions(-) >>>> >>>> diff --git a/arch/arm64/boot/dts/ti/k3-j7200-common-proc-board.dts b/arch/arm64/boot/dts/ti/k3-j7200-common-proc-board.dts >>>> index dee9056f56051..4a5c4f36baeec 100644 >>>> --- a/arch/arm64/boot/dts/ti/k3-j7200-common-proc-board.dts >>>> +++ b/arch/arm64/boot/dts/ti/k3-j7200-common-proc-board.dts >>>> @@ -240,27 +240,17 @@ &main_uart3 { >>>> pinctrl-0 = <&main_uart3_pins_default>; >>>> }; >>>> -&main_gpio2 { >>>> - status = "disabled"; >>>> -}; >>>> - >>>> -&main_gpio4 { >>>> - status = "disabled"; >>>> -}; >>>> - >>>> -&main_gpio6 { >>>> - status = "disabled"; >>>> +&main_gpio0 { >>>> + status = "okay"; >>>> + /* default pins */ >>> >>> Small question, where is the pmx for main_gpio0? What does "default pins" >>> refer to here? Where are they pinmuxed? >>> >> >> Good question, where is the pmx for main_gpio0? I don't know, it was >> never defined before either, we only are noticing this now as we are >> disabling by default instead of leaving an unfinished node enabled >> by default. (another benefit of this disabled by default scheme). >> >> What is really happening is GPIO nodes we tend to pinmux differently >> than normal device nodes. Their pinmux selections tends to be spread >> out in all the nodes that make use of these GPIO pins, not all together >> here in this node. >> >> For instance in this device we use one of the main_gpio0 pins as a >> GPIO toggled regulator, and we define the pinmux for it in that node >> (see vdd-sd-dv-default-pins). >> >> We can either define the rest of the pins not used elsewhere >> here, or we can consider GPIO an exception to the rule, I'd say >> the latter is fine for now. > > > GPIO pinmux are typically defined where they need - the only place where > they are explicitly called out in gpio is when they are meant to be used by > libgpio - typically in the case of dev boards. > > Just drop the comments of /* default pins */ - that is just mis-leading. >
True, will drop the comment for v2.
Andrew
| |