Skip to contentSkip to conversation

dt-bindings: bd718x7: Yamlify and add BD71850

PATCH RESEND Applied Matti Vaittinen 3 participants 5 messages Mar 20, 2020 – Apr 6, 2020

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH RESEND v2 1/1 dt-bindings: bd718x7: Yamlify and add BD71850

Convert ROHM bd71837 and bd71847 PMIC binding text docs to yaml. Split the binding document to two separate documents (own documents for BD71837 and BD71847) as they have different amount of regulators. This way we can better enforce the node name check for regulators. ROHM is also providing BD71850 - which is almost identical to BD71847 - main difference is some initial regulator states. The BD71850 can be driven by same driver and it has same buck/LDO setup as BD71847 - add it to BD71847 binding document and introduce compatible for it.

---

Hello Lee, Do you think you could take this in MFD? Rob and Mark have acked/reviewed this.

This is a resend of a resend of a resend of v2 - no changes other than rebasing.

changes since v1:
- constrains to short and long presses.
- reworded commit message to shorten a line exceeding 75 chars
- added 'additionalProperties: false'
- removed 'clock-names' from example node

 .../bindings/mfd/rohm,bd71837-pmic.txt        |  90 -------
 .../bindings/mfd/rohm,bd71837-pmic.yaml       | 236 ++++++++++++++++++
 .../bindings/mfd/rohm,bd71847-pmic.yaml       | 222 ++++++++++++++++
 .../regulator/rohm,bd71837-regulator.txt      | 162 ------------
 .../regulator/rohm,bd71837-regulator.yaml     | 103 ++++++++
 .../regulator/rohm,bd71847-regulator.yaml     |  97 +++++++
 6 files changed, 658 insertions(+), 252 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.txt
 create mode 100644 Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.yaml
 create mode 100644 Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml
 delete mode 100644 Documentation/devicetree/bindings/regulator/rohm,bd71837-regulator.txt
 create mode 100644 Documentation/devicetree/bindings/regulator/rohm,bd71837-regulator.yaml
 create mode 100644 Documentation/devicetree/bindings/regulator/rohm,bd71847-regulator.yaml
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.txt deleted +0 -90
deleted file mode 100644
index f22d74c7a8db..000000000000
@@ -1,90 +0,0 @@
-* ROHM BD71837 and BD71847 Power Management Integrated Circuit bindings
-
-BD71837MWV and BD71847MWV are programmable Power Management ICs for powering
-single-core, dual-core, and quad-core SoCs such as NXP-i.MX 8M. They are
-optimized for low BOM cost and compact solution footprint. BD71837MWV
-integrates 8 Buck regulators and 7 LDOs. BD71847MWV contains 6 Buck regulators
-and 6 LDOs.
-
-Datasheet for BD71837 is available at:
-https://www.rohm.com/datasheet/BD71837MWV/bd71837mwv-e
-Datasheet for BD71847 is available at:
-https://www.rohm.com/datasheet/BD71847AMWV/bd71847amwv-e
-
-Required properties:
- - compatible		: Should be "rohm,bd71837" for bd71837
-				    "rohm,bd71847" for bd71847.
- - reg			: I2C slave address.
- - interrupt-parent	: Phandle to the parent interrupt controller.
- - interrupts		: The interrupt line the device is connected to.
- - clocks		: The parent clock connected to PMIC. If this is missing
-			  32768 KHz clock is assumed.
- - #clock-cells		: Should be 0.
- - regulators:		: List of child nodes that specify the regulators.
-			  Please see ../regulator/rohm,bd71837-regulator.txt
-
-Optional properties:
-- clock-output-names	: Should contain name for output clock.
-- rohm,reset-snvs-powered : Transfer BD718x7 to SNVS state at reset.
-
-The BD718x7 supports two different HW states as reset target states. States
-are called as SNVS and READY. At READY state all the PMIC power outputs go
-down and OTP is reload. At the SNVS state all other logic and external
-devices apart from the SNVS power domain are shut off. Please refer to NXP
-i.MX8 documentation for further information regarding SNVS state. When a
-reset is done via SNVS state the PMIC OTP data is not reload. This causes
-power outputs that have been under SW control to stay down when reset has
-switched power state to SNVS. If reset is done via READY state the power
-outputs will be returned to HW control by OTP loading. Thus the reset
-target state is set to READY by default. If SNVS state is used the boot
-crucial regulators must have the regulator-always-on and regulator-boot-on
-properties set in regulator node.
-
-- rohm,short-press-ms	: Short press duration in milliseconds
-- rohm,long-press-ms	: Long press duration in milliseconds
-
-Configure the "short press" and "long press" timers for the power button.
-Values are rounded to what hardware supports (500ms multiple for short and
-1000ms multiple for long). If these properties are not present the existing
-configuration (from bootloader or OTP) is not touched.
-
-Example:
-
-	/* external oscillator node */
-	osc: oscillator {
-		compatible = "fixed-clock";
-		#clock-cells = <1>;
-		clock-frequency  = <32768>;
-		clock-output-names = "osc";
-	};
-
-	pmic: pmic@4b {
-		compatible = "rohm,bd71837";
-		reg = <0x4b>;
-		interrupt-parent = <&gpio1>;
-		interrupts = <29 GPIO_ACTIVE_LOW>;
-		interrupt-names = "irq";
-		#clock-cells = <0>;
-		clocks = <&osc 0>;
-		clock-output-names = "bd71837-32k-out";
-		rohm,reset-snvs-powered;
-
-		regulators {
-			buck1: BUCK1 {
-				regulator-name = "buck1";
-				regulator-min-microvolt = <700000>;
-				regulator-max-microvolt = <1300000>;
-				regulator-boot-on;
-				regulator-always-on;
-				regulator-ramp-delay = <1250>;
-			};
-			// [...]
-		};
-	};
-
-	/* Clock consumer node */
-	rtc@0 {
-		compatible = "company,my-rtc";
-		clock-names = "my-clock";
-		clocks = <&pmic>;
-	};
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.yaml new file +236 -0

236 lines not on this page · raw message

Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml new file +222 -0

222 lines not on this page · raw message

Documentation/devicetree/bindings/regulator/rohm,bd71837-regulator.txt deleted +0 -162

162 lines not on this page · raw message

Documentation/devicetree/bindings/regulator/rohm,bd71837-regulator.yaml new file +103 -0

103 lines not on this page · raw message

Documentation/devicetree/bindings/regulator/rohm,bd71847-regulator.yaml new file +97 -0

97 lines not on this page · raw message

base-commit: fb33c6510d5595144d585aa194d377cf74d31911

Signature · 14 lines
2.21.0


-- 
Matti Vaittinen, Linux device drivers
ROHM Semiconductors, Finland SWDC
Kiviharjunlenkki 1E
90220 OULU
FINLAND

~~~ "I don't think so," said Rene Descartes. Just then he vanished ~~~
Simon says - in Latin please.
~~~ "non cogito me" dixit Rene Descarte, deinde evanescavit ~~~
Thanks to Simon Glass for the translation =] 
Applied
#1 lore raw
Quoted 25 lines · Matti Vaittinen

Convert ROHM bd71837 and bd71847 PMIC binding text docs to yaml. Split the binding document to two separate documents (own documents for BD71837 and BD71847) as they have different amount of regulators. This way we can better enforce the node name check for regulators. ROHM is also providing BD71850 - which is almost identical to BD71847 - main difference is some initial regulator states. The BD71850 can be driven by same driver and it has same buck/LDO setup as BD71847 - add it to BD71847 binding document and introduce compatible for it.

---

Hello Lee, Do you think you could take this in MFD? Rob and Mark have acked/reviewed this.

This is a resend of a resend of a resend of v2 - no changes other than rebasing.

changes since v1:
- constrains to short and long presses.
- reworded commit message to shorten a line exceeding 75 chars
- added 'additionalProperties: false'
- removed 'clock-names' from example node

Quoted 13 lines
 .../bindings/mfd/rohm,bd71837-pmic.txt        |  90 -------
 .../bindings/mfd/rohm,bd71837-pmic.yaml       | 236 ++++++++++++++++++
 .../bindings/mfd/rohm,bd71847-pmic.yaml       | 222 ++++++++++++++++
 .../regulator/rohm,bd71837-regulator.txt      | 162 ------------
 .../regulator/rohm,bd71837-regulator.yaml     | 103 ++++++++
 .../regulator/rohm,bd71847-regulator.yaml     |  97 +++++++
 6 files changed, 658 insertions(+), 252 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.txt
 create mode 100644 Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.yaml
 create mode 100644 Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml
 delete mode 100644 Documentation/devicetree/bindings/regulator/rohm,bd71837-regulator.txt
 create mode 100644 Documentation/devicetree/bindings/regulator/rohm,bd71837-regulator.yaml
 create mode 100644 Documentation/devicetree/bindings/regulator/rohm,bd71847-regulator.yaml

Applied, thanks.

Signature · 4 lines
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
#2 lore raw
In reply to Matti Vaittinen
Quoted 10 lines · Matti Vaittinen

Convert ROHM bd71837 and bd71847 PMIC binding text docs to yaml. Split the binding document to two separate documents (own documents for BD71837 and BD71847) as they have different amount of regulators. This way we can better enforce the node name check for regulators. ROHM is also providing BD71850 - which is almost identical to BD71847 - main difference is some initial regulator states. The BD71850 can be driven by same driver and it has same buck/LDO setup as BD71847 - add it to BD71847 binding document and introduce compatible for it.

Quoted 2 lines

I did, but there's some dtc warnings that need to be fixed:

Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.example.dts:23.17-30:
Warning (reg_format): /example-0/i2c/pmic@4b:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.example.dt.yaml:
Warning (pci_device_reg): Failed prerequisite 'reg_format'
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.example.dt.yaml:
Warning (pci_device_bus_num): Failed prerequisite 'reg_format'
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.example.dt.yaml:
Warning (simple_bus_reg): Failed prerequisite 'reg_format'
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.example.dts:20.13-131.11:
Warning (i2c_bus_bridge): /example-0/i2c: incorrect #address-cells for I2C bus
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.example.dts:20.13-131.11:
Warning (i2c_bus_bridge): /example-0/i2c: incorrect #size-cells for I2C bus
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.example.dt.yaml:
Warning (i2c_bus_reg): Failed prerequisite 'reg_format'
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.example.dt.yaml:
Warning (i2c_bus_reg): Failed prerequisite 'i2c_bus_bridge'
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.example.dt.yaml:
Warning (spi_bus_reg): Failed prerequisite 'reg_format'
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.example.dts:21.25-130.15:
Warning (avoid_default_addr_size): /example-0/i2c/pmic@4b: Relying on default #address-cells value
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.example.dts:21.25-130.15:
Warning (avoid_default_addr_size): /example-0/i2c/pmic@4b: Relying on default #size-cells value
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.example.dt.yaml:
Warning (unique_unit_address): Failed prerequisite 'avoid_default_addr_size'

Rob

#3 lore raw
Quoted 40 lines · Rob Herring
Quoted 10 lines · Matti Vaittinen

Convert ROHM bd71837 and bd71847 PMIC binding text docs to yaml. Split the binding document to two separate documents (own documents for BD71837 and BD71847) as they have different amount of regulators. This way we can better enforce the node name check for regulators. ROHM is also providing BD71850 - which is almost identical to BD71847 - main difference is some initial regulator states. The BD71850 can be driven by same driver and it has same buck/LDO setup as BD71847 - add it to BD71847 binding document and introduce compatible for it.

Quoted 2 lines

I did, but there's some dtc warnings that need to be fixed:

Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.example.dts:23.17-30:
Warning (reg_format): /example-0/i2c/pmic@4b:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.example.dt.yaml:
Warning (pci_device_reg): Failed prerequisite 'reg_format'
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.example.dt.yaml:
Warning (pci_device_bus_num): Failed prerequisite 'reg_format'
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.example.dt.yaml:
Warning (simple_bus_reg): Failed prerequisite 'reg_format'
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.example.dts:20.13-131.11:
Warning (i2c_bus_bridge): /example-0/i2c: incorrect #address-cells for I2C bus
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.example.dts:20.13-131.11:
Warning (i2c_bus_bridge): /example-0/i2c: incorrect #size-cells for I2C bus
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.example.dt.yaml:
Warning (i2c_bus_reg): Failed prerequisite 'reg_format'
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.example.dt.yaml:
Warning (i2c_bus_reg): Failed prerequisite 'i2c_bus_bridge'
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.example.dt.yaml:
Warning (spi_bus_reg): Failed prerequisite 'reg_format'
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.example.dts:21.25-130.15:

Quoted 8 lines

Warning (avoid_default_addr_size): /example-0/i2c/pmic@4b: Relying on default #address-cells value
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.example.dts:21.25-130.15:
Warning (avoid_default_addr_size): /example-0/i2c/pmic@4b: Relying on default #size-cells value
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.example.dt.yaml:
Warning (unique_unit_address): Failed prerequisite 'avoid_default_addr_size'

And also:

Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.example.dts:23.17-30:
Warning (reg_format): /example-0/i2c/pmic@4b:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1) Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.example.dt.yaml:
Warning (pci_device_reg): Failed prerequisite 'reg_format' Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.example.dt.yaml:
Warning (pci_device_bus_num): Failed prerequisite 'reg_format' Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.example.dt.yaml:
Warning (simple_bus_reg): Failed prerequisite 'reg_format' Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.example.dts:20.13-112.11:
Warning (i2c_bus_bridge): /example-0/i2c: incorrect #address-cells for I2C bus Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.example.dts:20.13-112.11:
Warning (i2c_bus_bridge): /example-0/i2c: incorrect #size-cells for I2C bus Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.example.dt.yaml:
Warning (i2c_bus_reg): Failed prerequisite 'reg_format' Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.example.dt.yaml:
Warning (i2c_bus_reg): Failed prerequisite 'i2c_bus_bridge' Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.example.dt.yaml:
Warning (spi_bus_reg): Failed prerequisite 'reg_format' Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.example.dts:21.25-111.15:
Warning (avoid_default_addr_size): /example-0/i2c/pmic@4b: Relying on default #address-cells value Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.example.dts:21.25-111.15:
Warning (avoid_default_addr_size): /example-0/i2c/pmic@4b: Relying on default #size-cells value Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.example.dt.yaml:
Warning (unique_unit_address): Failed prerequisite 'avoid_default_addr_size'

#4 lore raw

Morning Rob & Lee,

Lee already applied this to for-mfd-next. (The driver changes with BD71850 compatible addition went in his tree too). I guess the right thing to do is to send him an incremental patch for his for-mfd-next branch? I'll do that - sorry for the trouble.

Best Regards,
Matti

Quoted 111 lines · Rob Herring
Quoted 62 lines · Rob Herring
Quoted 16 lines · Matti Vaittinen

Convert ROHM bd71837 and bd71847 PMIC binding text docs to yaml. Split
the binding document to two separate documents (own documents for BD71837
and BD71847) as they have different amount of regulators. This way we can
better enforce the node name check for regulators. ROHM is also providing
BD71850 - which is almost identical to BD71847 - main difference is some
initial regulator states. The BD71850 can be driven by same driver and it
has same buck/LDO setup as BD71847 - add it to BD71847 binding document and
introduce compatible for it.

Quoted 3 lines
Quoted 1 line

I did, but there's some dtc warnings that need to be fixed:

Documentation/devicetree/bindings/mfd/rohm,bd71837- pmic.example.dts:23.17-30:
Warning (reg_format): /example-0/i2c/pmic@4b:reg: property has invalid
length (4 bytes) (#address-cells == 2, #size-cells == 1)
Documentation/devicetree/bindings/mfd/rohm,bd71837-
pmic.example.dt.yaml:
Warning (pci_device_reg): Failed prerequisite 'reg_format'
Documentation/devicetree/bindings/mfd/rohm,bd71837-
pmic.example.dt.yaml:
Warning (pci_device_bus_num): Failed prerequisite 'reg_format'
Documentation/devicetree/bindings/mfd/rohm,bd71837-
pmic.example.dt.yaml:
Warning (simple_bus_reg): Failed prerequisite 'reg_format'
Documentation/devicetree/bindings/mfd/rohm,bd71837-
pmic.example.dts:20.13-131.11:
Warning (i2c_bus_bridge): /example-0/i2c: incorrect #address-cells for
I2C bus
Documentation/devicetree/bindings/mfd/rohm,bd71837-
pmic.example.dts:20.13-131.11:
Warning (i2c_bus_bridge): /example-0/i2c: incorrect #size-cells for I2C bus
Documentation/devicetree/bindings/mfd/rohm,bd71837-
pmic.example.dt.yaml:
Warning (i2c_bus_reg): Failed prerequisite 'reg_format'
Documentation/devicetree/bindings/mfd/rohm,bd71837-
pmic.example.dt.yaml:
Warning (i2c_bus_reg): Failed prerequisite 'i2c_bus_bridge'
Documentation/devicetree/bindings/mfd/rohm,bd71837-
pmic.example.dt.yaml:
Warning (spi_bus_reg): Failed prerequisite 'reg_format'
Documentation/devicetree/bindings/mfd/rohm,bd71837-
pmic.example.dts:21.25-130.15:
Warning (avoid_default_addr_size): /example-0/i2c/pmic@4b: Relying on
default #address-cells value
Documentation/devicetree/bindings/mfd/rohm,bd71837-

Quoted 8 lines

pmic.example.dts:21.25-130.15:
Warning (avoid_default_addr_size): /example-0/i2c/pmic@4b: Relying on
default #size-cells value
Documentation/devicetree/bindings/mfd/rohm,bd71837-
pmic.example.dt.yaml:
Warning (unique_unit_address): Failed prerequisite 'avoid_default_addr_size'

And also:

Documentation/devicetree/bindings/mfd/rohm,bd71847- pmic.example.dts:23.17-30:
Warning (reg_format): /example-0/i2c/pmic@4b:reg: property has invalid
length (4 bytes) (#address-cells == 2, #size-cells == 1) Documentation/devicetree/bindings/mfd/rohm,bd71847- pmic.example.dt.yaml:
Warning (pci_device_reg): Failed prerequisite 'reg_format' Documentation/devicetree/bindings/mfd/rohm,bd71847- pmic.example.dt.yaml:
Warning (pci_device_bus_num): Failed prerequisite 'reg_format' Documentation/devicetree/bindings/mfd/rohm,bd71847- pmic.example.dt.yaml:
Warning (simple_bus_reg): Failed prerequisite 'reg_format' Documentation/devicetree/bindings/mfd/rohm,bd71847- pmic.example.dts:20.13-112.11:
Warning (i2c_bus_bridge): /example-0/i2c: incorrect #address-cells for
I2C bus Documentation/devicetree/bindings/mfd/rohm,bd71847- pmic.example.dts:20.13-112.11:
Warning (i2c_bus_bridge): /example-0/i2c: incorrect #size-cells for I2C bus Documentation/devicetree/bindings/mfd/rohm,bd71847- pmic.example.dt.yaml:
Warning (i2c_bus_reg): Failed prerequisite 'reg_format' Documentation/devicetree/bindings/mfd/rohm,bd71847- pmic.example.dt.yaml:
Warning (i2c_bus_reg): Failed prerequisite 'i2c_bus_bridge' Documentation/devicetree/bindings/mfd/rohm,bd71847- pmic.example.dt.yaml:
Warning (spi_bus_reg): Failed prerequisite 'reg_format' Documentation/devicetree/bindings/mfd/rohm,bd71847- pmic.example.dts:21.25-111.15:
Warning (avoid_default_addr_size): /example-0/i2c/pmic@4b: Relying on default #address-cells value

Quoted 8 lines

Documentation/devicetree/bindings/mfd/rohm,bd71847- pmic.example.dts:21.25-111.15:
Warning (avoid_default_addr_size): /example-0/i2c/pmic@4b: Relying on default #size-cells value Documentation/devicetree/bindings/mfd/rohm,bd71847- pmic.example.dt.yaml:
Warning (unique_unit_address): Failed prerequisite 'avoid_default_addr_size'

I believe these were already applied by Lee.