2022-05-03 06:53:15

by Gene Chen

[permalink] [raw]
Subject: [PATCH] dt-bindings: mfd: Add bindings child nodes for the Mediatek MT6360

From: Gene Chen <[email protected]>

Add bindings child nodes for the Mediatek MT6360

Signed-off-by: Gene Chen <[email protected]>
Link: https://lore.kernel.org/all/[email protected]/
---
.../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
+
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>;
+ };
+ };
+ };
+ };
+ };
+
+ };
};
--
2.25.1


2022-05-03 15:02:16

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: mfd: Add bindings child nodes for the Mediatek MT6360

On 03/05/2022 08:28, Gene Chen wrote:
> From: Gene Chen <[email protected]>
>
> Add bindings child nodes for the Mediatek MT6360
>
> Signed-off-by: Gene Chen <[email protected]>
> Link: https://lore.kernel.org/all/[email protected]/
> ---
> .../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