Re: [PATCH 1/4] ARM: dts: omap: omap4-epson-embt2ws: define GPIO regulators

From: Roger Quadros
Date: Fri Oct 04 2024 - 03:24:47 EST




On 01/10/2024 00:30, Andreas Kemnade wrote:
> To properly have things running after cold boot, define
> GPIO regulators. Naming is based on board file.
>
> In the vendor kernel they are enabled in a function
> called bt2ws_dcdc_init() if the system is not booted just
> to charge the battery.
>
> Signed-off-by: Andreas Kemnade <andreas@xxxxxxxxxxxx>
> ---
> .../boot/dts/ti/omap/omap4-epson-embt2ws.dts | 73 +++++++++++++++++++
> 1 file changed, 73 insertions(+)
>
> diff --git a/arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts b/arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts
> index 339e52ba3614..d6b0abba19f6 100644
> --- a/arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts
> +++ b/arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts
> @@ -29,6 +29,42 @@ backlight-right {
> power-supply = <&unknown_supply>;
> };
>
> + cb_v18: cb-v18 {

https://devicetree-specification.readthedocs.io/en/v0.3/devicetree-basics.html#generic-names-recommendation


So regulator@n
where n is some index if it can't be address.

> + pinctrl-names = "default";
> + pinctrl-0 = <&cb_v18_pins>;
> + compatible = "regulator-fixed";
> + regulator-name = "cb_v18";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + };
> +
> + cb_v33: cb-v33 {
here

> + pinctrl-names = "default";
> + pinctrl-0 = <&cb_v33_pins>;
> + compatible = "regulator-fixed";
> + regulator-name = "cb_v33";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-always-on;
> + gpio = <&gpio6 30 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + };
> +
> + cb-v50 {
here too

> + pinctrl-names = "default";
> + pinctrl-0 = <&cb_v50_pins>;
> + compatible = "regulator-fixed";
> + regulator-name = "cb_v50";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + regulator-always-on;
> + gpio = <&gpio6 31 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + };
> +
> chosen {
> stdout-path = &uart3;
> };
> @@ -46,6 +82,19 @@ key-lock {
> };
> };
>
> + lb_v50: lb-v50 {
and here as well

> + /* required for many things at the head (probably indirectly) */
> + pinctrl-names = "default";
> + pinctrl-0 = <&lb_v50_pins>;
> + compatible = "regulator-fixed";
> + regulator-name = "lb_v50";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + regulator-always-on;
> + gpio = <&gpio1 27 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + };
> +
> unknown_supply: unknown-supply {
> compatible = "regulator-fixed";
> regulator-name = "unknown";
> @@ -336,6 +385,24 @@ OMAP4_IOPAD(0x1ca, PIN_OUTPUT | MUX_MODE3) /* gpio25 */
> >;
> };
>
> + cb_v18_pins: pinmux-cb-v18-pins {
> + pinctrl-single,pins = <
> + OMAP4_IOPAD(0x1d0, PIN_OUTPUT | MUX_MODE3) /* gpio28 */
> + >;
> + };
> +
> + cb_v33_pins: pinmux-cb-v33-pins {
> + pinctrl-single,pins = <
> + OMAP4_IOPAD(0x1d2, PIN_OUTPUT | MUX_MODE3) /* gpio190 */
> + >;
> + };
> +
> + cb_v50_pins: pinmux-cb-v50-pins {
> + pinctrl-single,pins = <
> + OMAP4_IOPAD(0x1d4, PIN_OUTPUT | MUX_MODE3) /* gpio191 */
> + >;
> + };
> +
> gpio_keys_pins: pinmux-gpio-key-pins {
> pinctrl-single,pins = <
> OMAP4_IOPAD(0x56, PIN_INPUT_PULLUP | MUX_MODE3) /* gpio35 */
> @@ -387,6 +454,12 @@ OMAP4_IOPAD(0x005c, PIN_OUTPUT | MUX_MODE1)
> >;
> };
>
> + lb_v50_pins: pinmux-lb-v50-pins {
> + pinctrl-single,pins = <
> + OMAP4_IOPAD(0x1ce, PIN_OUTPUT | MUX_MODE3) /* gpio27 */
> + >;
> + };
> +
> mcbsp2_pins: pinmux-mcbsp2-pins {
> pinctrl-single,pins = <
> OMAP4_IOPAD(0x0f6, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_clkx */

--
cheers,
-roger