Add hwmon driver for Moortec PVT controller
Subsystems (2)
v2 cover Add hwmon driver for Moortec PVT controller
Patch 1 adds DT bindings schema in YAML format.
Patch 2 adds driver for MR75203 PVT controller.
v2:
- Address below review concerns from Andy Shevchenko
* Add more info in comments for clamp_val usage for clk sys cycles.
* Add mod_devicetable.h & property.h and remove of.h
* Remove unnecessary additional mutex lock from driver. Rely on regmap's internal lock.
* Use units in timeout macros.
* Use HZ_PER_MHZ instead of direct values.
* Use devm_platform_ioremap_resource_byname() instead of separate calls.
* Use device property read API instead of OF API.
- Address below review concerns from Guenter Roeck
* Improve commit message - add hardware monitoring driver.
* Remove unnecessary platform_set_drvdata. Instead add driver data in function args at one place where it is used. Fix a issue related to it.
* Remove unnecessary NULL assignment.
- Address below review concerns from Philipp Zabel
* Switch to devm_reset_control_get_exclusive().
* Move reset_deassert at the last after clk_enable in probe.
- Resolve make dt_binding_check error.
- Add MODULE_LICENSE
v1:
- Initial version.
Rahul Tanwar (2):
Add DT bindings schema for PVT controller
Add hardware monitoring driver for Moortec MR75203 PVT controller
.../devicetree/bindings/hwmon/moortec,mr75203.yaml | 70 +++ drivers/hwmon/Kconfig | 10 + drivers/hwmon/Makefile | 1 + drivers/hwmon/mr75203.c | 605 +++++++++++++++++++++ 4 files changed, 686 insertions(+) create mode 100644 Documentation/devicetree/bindings/hwmon/moortec,mr75203.yaml create mode 100644 drivers/hwmon/mr75203.c
Signature · 1 line
2.11.0
PATCH v2 1/2 Add DT bindings schema for PVT controller
PVT controller (MR75203) is used to configure & control Moortec embedded analog IP which contains temprature sensor(TS), voltage monitor(VM) & process detector(PD) modules.
Add DT bindings schema for PVT controller.
--- .../devicetree/bindings/hwmon/moortec,mr75203.yaml | 70 ++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 Documentation/devicetree/bindings/hwmon/moortec,mr75203.yaml
Documentation/devicetree/bindings/hwmon/moortec,mr75203.yaml new file +70 -0
@@ -0,0 +1,70 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/hwmon/moortec,mr75203.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Moortec Semiconductor MR75203 PVT Controller bindings + +maintainers: + - Rahul Tanwar <[email protected]> + +properties: + compatible: + const: moortec,mr75203 + + reg: + items: + - description: PVT common registers + - description: PVT temprature sensor registers + - description: PVT process detector registers + - description: PVT voltage monitor registers + + reg-names: + items: + - const: common + - const: ts + - const: pd + - const: vm + + vm-map: + description: + PVT controller has 5 VM (voltage monitor) sensors. + vm-map defines CPU core to VM instance mapping. A + value of 0xff means that VM sensor is unused. + maxItems: 5 + + clocks: + maxItems: 1 + + resets: + maxItems: 1 + + "#thermal-sensor-cells": + const: 1 + +required: + - compatible + - reg + - reg-names + - vm-map + - clocks + - resets + - "#thermal-sensor-cells" + +additionalProperties: false + +examples: + - | + pvt: pvt@e0680000 { + compatible = "moortec,mr75203"; + reg = <0xe0680000 0x80 + 0xe0680080 0x180 + 0xe0680200 0x200 + 0xe0680400 0xc00>; + reg-names = "common", "ts", "pd", "vm"; + vm-map = [03 01 04 ff ff]; + clocks = <&osc0>; + resets = <&rcu0 0x40 7>; + #thermal-sensor-cells = <1>; + };
Signature · 1 line
2.11.0
PATCH v2 2/2 Add hardware monitoring driver for Moortec MR75203 PVT controller
In reply to Rahul TanwarPVT controller (MR75203) is used to configure & control Moortec embedded analog IP which contains temprature sensor(TS), voltage monitor(VM) & process detector(PD) modules. Add hardware monitoring driver to support MR75203 PVT controller.
--- drivers/hwmon/Kconfig | 10 + drivers/hwmon/Makefile | 1 + drivers/hwmon/mr75203.c | 605 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 616 insertions(+) create mode 100644 drivers/hwmon/mr75203.c
drivers/hwmon/Kconfig +10 -0
@@ -1112,6 +1112,16 @@ config SENSORS_MENF21BMC_HWMON This driver can also be built as a module. If so the module will be called menf21bmc_hwmon. +config SENSORS_MR75203 + tristate "Moortec Semiconductor MR75203 PVT Controller" + select REGMAP_MMIO + help + If you say yes here you get support for Moortec MR75203 + PVT controller. + + This driver can also be built as a module. If so, the module + will be called mr75203. + config SENSORS_ADCXX tristate "National Semiconductor ADCxxxSxxx" depends on SPI_MASTER
drivers/hwmon/Makefile +1 -0
@@ -142,6 +142,7 @@ obj-$(CONFIG_SENSORS_MCP3021) += mcp3021.o obj-$(CONFIG_SENSORS_TC654) += tc654.o obj-$(CONFIG_SENSORS_MLXREG_FAN) += mlxreg-fan.o obj-$(CONFIG_SENSORS_MENF21BMC_HWMON) += menf21bmc_hwmon.o +obj-$(CONFIG_SENSORS_MR75203) += mr75203.o obj-$(CONFIG_SENSORS_NCT6683) += nct6683.o obj-$(CONFIG_SENSORS_NCT6775) += nct6775.o obj-$(CONFIG_SENSORS_NCT7802) += nct7802.o
drivers/hwmon/mr75203.c new file +605 -0
605 lines not on this page · raw message
Signature · 1 line
2.11.0
Rob Herring
maintainerRe: [PATCH v2 1/2] Add DT bindings schema for PVT controller
In reply to Rahul TanwarQuoted 4 lines · Rahul Tanwar
PVT controller (MR75203) is used to configure & control Moortec embedded analog IP which contains temprature sensor(TS), voltage monitor(VM) & process detector(PD) modules.
Quoted 8 lines
Add DT bindings schema for PVT controller.
Signed-off-by Rahul Tanwar <[email protected]>--- .../devicetree/bindings/hwmon/moortec,mr75203.yaml | 70 ++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 Documentation/devicetree/bindings/hwmon/moortec,mr75203.yaml
My bot found errors running 'make dt_binding_check' on your patch:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/hwmon/moortec,mr75203.example.dt.yaml: example-0: pvt@e0680000:reg:0: [3764912128, 128, 3764912256, 384, 3764912640, 512, 3764913152, 3072] is too long
From schema: /usr/local/lib/python3.8/dist-packages/dtschema/schemas/reg.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/hwmon/moortec,mr75203.example.dt.yaml: pvt@e0680000: reg: [[3764912128, 128, 3764912256, 384, 3764912640, 512, 3764913152, 3072]] is too short
From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/hwmon/moortec,mr75203.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/hwmon/moortec,mr75203.example.dt.yaml: pvt@e0680000: vm-map: [[3, 1, 4, 255, 255]] is too short
From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/hwmon/moortec,mr75203.yaml
See https://patchwork.ozlabs.org/patch/1372474
If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure dt-schema is up to date:
pip3 install git+https://github.com/devicetree-org/dt-schema.git@master --upgrade
Please check and re-submit.
Rob Herring
maintainerRe: [PATCH v2 1/2] Add DT bindings schema for PVT controller
In reply to Rahul TanwarQuoted 38 lines · Rahul Tanwar
PVT controller (MR75203) is used to configure & control Moortec embedded analog IP which contains temprature sensor(TS), voltage monitor(VM) & process detector(PD) modules.
Add DT bindings schema for PVT controller.
Signed-off-by Rahul Tanwar <[email protected]>--- .../devicetree/bindings/hwmon/moortec,mr75203.yaml | 70 ++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 Documentation/devicetree/bindings/hwmon/moortec,mr75203.yamlDocumentation/devicetree/bindings/hwmon/moortec,mr75203.yaml new file +20
-0@@ -0,0 +1,70 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/hwmon/moortec,mr75203.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Moortec Semiconductor MR75203 PVT Controller bindings + +maintainers: + - Rahul Tanwar <[email protected]> + +properties: + compatible: + const: moortec,mr75203 + + reg: + items: + - description: PVT common registers + - description: PVT temprature sensor registers + - description: PVT process detector registers
Documentation/devicetree/bindings/hwmon/moortec,mr75203.yaml line 30
Quoted 10 lines
Documentation/devicetree/bindings/hwmon/moortec,mr75203.yaml new file +10
-0+ - description: PVT voltage monitor registers + + reg-names: + items: + - const: common + - const: ts + - const: pd + - const: vm + + vm-map:
Needs a vendor prefix and type reference.
Quoted 43 lines
Documentation/devicetree/bindings/hwmon/moortec,mr75203.yaml new file +40
-0+ description: + PVT controller has 5 VM (voltage monitor) sensors. + vm-map defines CPU core to VM instance mapping. A + value of 0xff means that VM sensor is unused. + maxItems: 5 + + clocks: + maxItems: 1 + + resets: + maxItems: 1 + + "#thermal-sensor-cells": + const: 1 + +required: + - compatible + - reg + - reg-names + - vm-map + - clocks + - resets + - "#thermal-sensor-cells" + +additionalProperties: false + +examples: + - | + pvt: pvt@e0680000 { + compatible = "moortec,mr75203"; + reg = <0xe0680000 0x80 + 0xe0680080 0x180 + 0xe0680200 0x200 + 0xe0680400 0xc00>; + reg-names = "common", "ts", "pd", "vm"; + vm-map = [03 01 04 ff ff]; + clocks = <&osc0>; + resets = <&rcu0 0x40 7>; + #thermal-sensor-cells = <1>; + };Signature · 1 line
2.11.0