On Sat, 10 Feb 2024 at 12:44, Krishna Kurapati PSSNV <quic_kriskura@xxxxxxxxxxx> wrote: > > > Krishna, when you make v2 can you update the wording about the USB 2.0 > > mux? Maybe something like "which by default on boot is selected to mux > > to the external port on the board (with the other option being a test > > point)." instead of the wording I originally had? That way the > > information Dmitry requested here is easily accessible in the future. > > > >> > >>> > > [...] > > >>>>>> }; > >>>>> > >>>>> Isn't gpio-hog the preferred way to describe that ? > >>>> > >>>> That depends. As this pinctrl describes board configuration, I'd agree > >>>> with Neil. > >>> > >>> I unfortunately don't have the experience with gpio-hog to weigh in > >>> here, but wouldn't be opposed to Krishna switching it if that's what's > >>> recommended for this type of thing. > >> > >> Quoting gpio.txt: > >> > >> The GPIO chip may contain GPIO hog definitions. GPIO hogging is a mechanism > >> providing automatic GPIO request and configuration as part of the > >> gpio-controller's driver probe function. > >> > >> See sdm845-pinctrl.yaml for an example of the gpio-hog node. > > > > Thanks, that seems like the way to go. Krishna please take note of this > > for v2! > > > > Hi Andrew, > > Can you help test the following patch. It is just an add-on to your > original one. I don't have a SA8540P Ride at the moment and getting one > might take time. Incase you can confirm this patch is working. I can > push v2 of this series. > > > diff --git > a/Documentation/devicetree/bindings/pinctrl/qcom,sc8280xp-tlmm.yaml > b/Documentation/devicetree/bindings/pinctrl/qcom,sc8280xp-tlmm.yaml > index ed344deaf8b9..aa42ac5a3197 100644 > --- a/Documentation/devicetree/bindings/pinctrl/qcom,sc8280xp-tlmm.yaml > +++ b/Documentation/devicetree/bindings/pinctrl/qcom,sc8280xp-tlmm.yaml > @@ -36,6 +36,10 @@ patternProperties: > $ref: "#/$defs/qcom-sc8280xp-tlmm-state" > additionalProperties: false > > + "-hog(-[0-9]+)?$": > + required: > + - gpio-hog > + > $defs: > qcom-sc8280xp-tlmm-state: > type: object > diff --git a/arch/arm64/boot/dts/qcom/sa8540p-ride.dts > b/arch/arm64/boot/dts/qcom/sa8540p-ride.dts > index b04f72ec097c..aa0cec0b4cc2 100644 > --- a/arch/arm64/boot/dts/qcom/sa8540p-ride.dts > +++ b/arch/arm64/boot/dts/qcom/sa8540p-ride.dts > @@ -503,6 +503,18 @@ &usb_2_qmpphy0 { > status = "okay"; > }; > > +&usb_2 { > + pinctrl-0 = <&usb2_en_state>; > + pinctrl-names = "default"; > + > + status = "okay"; > +}; > + > +&usb_2_dwc3 { > + phy-names = "usb2-port0", "usb3-port0"; > + phys = <&usb_2_hsphy0>, <&usb_2_qmpphy0>; > +}; > + > &xo_board_clk { > clock-frequency = <38400000>; > }; > @@ -655,4 +667,19 @@ wake-pins { > bias-pull-up; > }; > }; > + > + usb2-en-hog { > + gpio-hog; > + gpios = <24 GPIO_ACTIVE_LOW>; > + output-low; > + }; > + > + usb2_en_state: usb2-en-state { If you are using gpio-hog, you don't need this state. The pinctrl / gpio core will use the hog instead. > + /* TS3USB221A USB2.0 mux select */ > + pins = "gpio24"; > + function = "gpio"; > + drive-strength = <2>; > + bias-disable; > + output-low; > + }; > > > Regards, > Krishna, -- With best wishes Dmitry