diff mbox series

dt-bindings: mfd: Add bindings child nodes for the Mediatek MT6360

Message ID 20220503062843.12516-1-gene.chen.richtek@gmail.com (mailing list archive)
State New, archived
Headers show
Series dt-bindings: mfd: Add bindings child nodes for the Mediatek MT6360 | expand

Commit Message

Gene Chen May 3, 2022, 6:28 a.m. UTC
From: Gene Chen <gene_chen@richtek.com>

Add bindings child nodes for the Mediatek MT6360

Signed-off-by: Gene Chen <gene_chen@richtek.com>
Link: https://lore.kernel.org/all/YmqTzlrVL5KaVPuz@robh.at.kernel.org/
---
 .../bindings/mfd/mediatek,mt6360.yaml         | 212 +++++++++++++++++-
 1 file changed, 201 insertions(+), 11 deletions(-)

Comments

Krzysztof Kozlowski May 3, 2022, 9:48 a.m. UTC | #1
On 03/05/2022 08:28, Gene Chen wrote:
> From: Gene Chen <gene_chen@richtek.com>
> 
> Add bindings child nodes for the Mediatek MT6360
> 
> Signed-off-by: Gene Chen <gene_chen@richtek.com>
> Link: https://lore.kernel.org/all/YmqTzlrVL5KaVPuz@robh.at.kernel.org/
> ---
>  .../bindings/mfd/mediatek,mt6360.yaml         | 212 +++++++++++++++++-
>  1 file changed, 201 insertions(+), 11 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/mfd/mediatek,mt6360.yaml b/Documentation/devicetree/bindings/mfd/mediatek,mt6360.yaml
> index 4d8769f3748c..b3eecf661bc1 100644
> --- a/Documentation/devicetree/bindings/mfd/mediatek,mt6360.yaml
> +++ b/Documentation/devicetree/bindings/mfd/mediatek,mt6360.yaml
> @@ -37,6 +37,18 @@ properties:
>      description:
>        The first cell is the IRQ number.
>  
> +  regulators:
> +    $ref: ../regulator/mt6360-regulator.yaml
> +
> +  charger:
> +    $ref: ../power/supply/mt6360_charger.yaml
> +
> +  tcpc:
> +    $ref: ../usb/mediatek,mt6360-tcpc.yaml
> +
> +  led-controller:
> +    $ref: ../leds/leds-mt6360.yaml

Full paths everywhere here, so:
/schemas/leds/leds-mt6360.yaml#

> +
>  required:
>    - compatible
>    - reg
> @@ -51,17 +63,195 @@ examples:
>    - |
>      #include <dt-bindings/interrupt-controller/irq.h>
>      #include <dt-bindings/regulator/mediatek,mt6360-regulator.h>
> +    #include <dt-bindings/leds/common.h>
> +    #include <dt-bindings/usb/pd.h>
>      i2c {
> -        #address-cells = <1>;
> -        #size-cells = <0>;
> -
> -        pmic@34 {
> -            compatible = "mediatek,mt6360";
> -            reg = <0x34>;
> -            wakeup-source;
> -            interrupts-extended = <&gpio26 0 IRQ_TYPE_LEVEL_LOW>;
> -            interrupt-names = "IRQB";
> -            interrupt-controller;
> -            #interrupt-cells = <1>;

Previous indentation was correct, don't change it from 4 spaces.

> +      #address-cells = <1>;
> +      #size-cells = <0>;
> +
> +      mt6360@34 {

What is the reason to change correct name to wrong name when adding ONLY
child nodes?

Please split any unrelated changes to separate patches, if they are
reasonable. Using wrong node name is not reasonable.

(...)

> +              port@2 {
> +                reg = <2>;
> +                endpoint {
> +                  remote-endpoint = <&dp_aux>;
> +                };
> +              };
> +            };
> +          };
> +        };
> +

no need for blank line

> +      };
>      };


Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/mfd/mediatek,mt6360.yaml b/Documentation/devicetree/bindings/mfd/mediatek,mt6360.yaml
index 4d8769f3748c..b3eecf661bc1 100644
--- a/Documentation/devicetree/bindings/mfd/mediatek,mt6360.yaml
+++ b/Documentation/devicetree/bindings/mfd/mediatek,mt6360.yaml
@@ -37,6 +37,18 @@  properties:
     description:
       The first cell is the IRQ number.
 
+  regulators:
+    $ref: ../regulator/mt6360-regulator.yaml
+
+  charger:
+    $ref: ../power/supply/mt6360_charger.yaml
+
+  tcpc:
+    $ref: ../usb/mediatek,mt6360-tcpc.yaml
+
+  led-controller:
+    $ref: ../leds/leds-mt6360.yaml
+
 required:
   - compatible
   - reg
@@ -51,17 +63,195 @@  examples:
   - |
     #include <dt-bindings/interrupt-controller/irq.h>
     #include <dt-bindings/regulator/mediatek,mt6360-regulator.h>
+    #include <dt-bindings/leds/common.h>
+    #include <dt-bindings/usb/pd.h>
     i2c {
-        #address-cells = <1>;
-        #size-cells = <0>;
-
-        pmic@34 {
-            compatible = "mediatek,mt6360";
-            reg = <0x34>;
-            wakeup-source;
-            interrupts-extended = <&gpio26 0 IRQ_TYPE_LEVEL_LOW>;
-            interrupt-names = "IRQB";
-            interrupt-controller;
-            #interrupt-cells = <1>;
+      #address-cells = <1>;
+      #size-cells = <0>;
+
+      mt6360@34 {
+        compatible = "mediatek,mt6360";
+        reg = <0x34>;
+        wakeup-source;
+        interrupts-extended = <&gpio26 0 IRQ_TYPE_LEVEL_LOW>;
+        interrupt-names = "IRQB";
+        interrupt-controller;
+        #interrupt-cells = <1>;
+
+        mt6360_charger: charger {
+          compatible = "mediatek,mt6360-chg";
+          richtek,vinovp-microvolt = <14500000>;
+
+          otg_vbus_regulator: usb-otg-vbus-regulator {
+            regulator-compatible = "usb-otg-vbus";
+            regulator-name = "usb-otg-vbus";
+            regulator-min-microvolt = <4425000>;
+            regulator-max-microvolt = <5825000>;
+          };
+        };
+
+        led-controller {
+          compatible = "mediatek,mt6360-led";
+          #address-cells = <1>;
+          #size-cells = <0>;
+
+          multi-led@0 {
+            reg = <0>;
+            function = LED_FUNCTION_INDICATOR;
+            color = <LED_COLOR_ID_RGB>;
+            led-max-microamp = <24000>;
+            #address-cells = <1>;
+            #size-cells = <0>;
+            led@0 {
+              reg = <0>;
+              color = <LED_COLOR_ID_RED>;
+            };
+            led@1 {
+              reg = <1>;
+              color = <LED_COLOR_ID_GREEN>;
+            };
+            led@2 {
+              reg = <2>;
+              color = <LED_COLOR_ID_BLUE>;
+            };
+          };
+          led@3 {
+            reg = <3>;
+            function = LED_FUNCTION_INDICATOR;
+            color = <LED_COLOR_ID_WHITE>;
+            led-max-microamp = <150000>;
+          };
+          led@4 {
+            reg = <4>;
+            function = LED_FUNCTION_FLASH;
+            color = <LED_COLOR_ID_WHITE>;
+            function-enumerator = <1>;
+            led-max-microamp = <200000>;
+            flash-max-microamp = <500000>;
+            flash-max-timeout-us = <1024000>;
+          };
+          led@5 {
+            reg = <5>;
+            function = LED_FUNCTION_FLASH;
+            color = <LED_COLOR_ID_WHITE>;
+            function-enumerator = <2>;
+            led-max-microamp = <200000>;
+            flash-max-microamp = <500000>;
+            flash-max-timeout-us = <1024000>;
+          };
+        };
+
+        regulators {
+          compatible = "mediatek,mt6360-regulator";
+          LDO_VIN3-supply = <&BUCK2>;
+          buck1 {
+            regulator-compatible = "BUCK1";
+            regulator-name = "mt6360,buck1";
+            regulator-min-microvolt = <300000>;
+            regulator-max-microvolt = <1300000>;
+            regulator-allowed-modes = <MT6360_OPMODE_NORMAL
+                 MT6360_OPMODE_LP
+                 MT6360_OPMODE_ULP>;
+          };
+          BUCK2: buck2 {
+            regulator-compatible = "BUCK2";
+            regulator-name = "mt6360,buck2";
+            regulator-min-microvolt = <300000>;
+            regulator-max-microvolt = <1300000>;
+            regulator-allowed-modes = <MT6360_OPMODE_NORMAL
+                 MT6360_OPMODE_LP
+                 MT6360_OPMODE_ULP>;
+          };
+          ldo6 {
+            regulator-compatible = "LDO6";
+            regulator-name = "mt6360,ldo6";
+            regulator-min-microvolt = <500000>;
+            regulator-max-microvolt = <2100000>;
+            regulator-allowed-modes = <MT6360_OPMODE_NORMAL
+                 MT6360_OPMODE_LP>;
+          };
+          ldo7 {
+            regulator-compatible = "LDO7";
+            regulator-name = "mt6360,ldo7";
+            regulator-min-microvolt = <500000>;
+            regulator-max-microvolt = <2100000>;
+            regulator-allowed-modes = <MT6360_OPMODE_NORMAL
+                 MT6360_OPMODE_LP>;
+          };
+          ldo1 {
+            regulator-compatible = "LDO1";
+            regulator-name = "mt6360,ldo1";
+            regulator-min-microvolt = <1200000>;
+            regulator-max-microvolt = <3600000>;
+            regulator-allowed-modes = <MT6360_OPMODE_NORMAL
+                 MT6360_OPMODE_LP>;
+          };
+            ldo2 {
+            regulator-compatible = "LDO2";
+            regulator-name = "mt6360,ldo2";
+            regulator-min-microvolt = <1200000>;
+            regulator-max-microvolt = <3600000>;
+            regulator-allowed-modes = <MT6360_OPMODE_NORMAL
+                 MT6360_OPMODE_LP>;
+          };
+          ldo3 {
+            regulator-compatible = "LDO3";
+            regulator-name = "mt6360,ldo3";
+            regulator-min-microvolt = <1200000>;
+            regulator-max-microvolt = <3600000>;
+            regulator-allowed-modes = <MT6360_OPMODE_NORMAL
+                 MT6360_OPMODE_LP>;
+          };
+          ldo5 {
+            regulator-compatible = "LDO5";
+            regulator-name = "mt6360,ldo5";
+            regulator-min-microvolt = <2700000>;
+            regulator-max-microvolt = <3600000>;
+            regulator-allowed-modes = <MT6360_OPMODE_NORMAL
+                 MT6360_OPMODE_LP>;
+          };
         };
+
+        tcpc {
+          compatible = "mediatek,mt6360-tcpc";
+          interrupts-extended = <&gpio26 3 IRQ_TYPE_LEVEL_LOW>;
+          interrupt-names = "PD_IRQB";
+
+          connector {
+            compatible = "usb-c-connector";
+            label = "USB-C";
+            data-role = "dual";
+            power-role = "dual";
+            try-power-role = "sink";
+            source-pdos = <PDO_FIXED(5000, 1000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>;
+            sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>;
+            op-sink-microwatt = <10000000>;
+
+            ports {
+              #address-cells = <1>;
+              #size-cells = <0>;
+
+              port@0 {
+                reg = <0>;
+                endpoint {
+                  remote-endpoint = <&usb_hs>;
+                };
+              };
+              port@1 {
+                reg = <1>;
+                endpoint {
+                  remote-endpoint = <&usb_ss>;
+                };
+              };
+              port@2 {
+                reg = <2>;
+                endpoint {
+                  remote-endpoint = <&dp_aux>;
+                };
+              };
+            };
+          };
+        };
+
+      };
     };