dt-bindings: mfd: sie,cronos-cpld: Add initial DT binding
Subsystems (2)
A message that is not in the archive (sent off-list or not yet received): [email protected]
PATCH 1/3 dt-bindings: vendor-prefixes: Add prefix for SIE
Add a vendor prefix for Sony Interactive Entertainment LLC (SIE).
--- Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ 1 file changed, 2 insertions(+)
Documentation/devicetree/bindings/vendor-prefixes.yaml +2 -0
@@ -1211,6 +1211,8 @@ patternProperties: description: Si-En Technology Ltd. "^si-linux,.*": description: Silicon Linux Corporation + "^sie,.*": + description: Sony Interactive Entertainment LLC "^siemens,.*": description: Siemens AG "^sifive,.*":
Signature · 1 line
2.30.2
Re: [PATCH 1/3] dt-bindings: vendor-prefixes: Add prefix for SIE
Quoted 12 lines · Shawn Anastasio
Add a vendor prefix for Sony Interactive Entertainment LLC (SIE).
Signed-off-by Shawn Anastasio <[email protected]>--- Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ 1 file changed, 2 insertions(+)Documentation/devicetree/bindings/vendor-prefixes.yaml +0
-0
Documentation/devicetree/bindings/vendor-prefixes.yaml patternProperties: · line 1215
Quoted 5 lines
Documentation/devicetree/bindings/vendor-prefixes.yaml +2
-0@@ -1211,6 +1211,8 @@ patternProperties: description: Si-En Technology Ltd. "^si-linux,.*": description: Silicon Linux Corporation + "^sie,.*": + description: Sony Interactive Entertainment LLC
Is this different company than Sony?
Best regards,
Krzysztof
Re: [PATCH 1/3] dt-bindings: vendor-prefixes: Add prefix for SIE
Quoted 8 lines · Krzysztof Kozlowski
Quoted 7 lines · Shawn Anastasio
Add a vendor prefix for Sony Interactive Entertainment LLC (SIE).
Signed-off-by Shawn Anastasio <[email protected]>--- Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ 1 file changed, 2 insertions(+)
Quoted 13 lines
Documentation/devicetree/bindings/vendor-prefixes.yaml patternProperties: · line 1215
Quoted 10 lines
Documentation/devicetree/bindings/vendor-prefixes.yaml +2
-0@@ -1211,6 +1211,8 @@ patternProperties: description: Si-En Technology Ltd. "^si-linux,.*": description: Silicon Linux Corporation + "^sie,.*": + description: Sony Interactive Entertainment LLCIs this different company than Sony?
Yes. As I understand it, Sony Interactive Entertainment, LLC is its own separate corporate entity, though it is ultimately owned by Sony Group Corporation.
Quoted 2 lines
Best regards,
Krzysztof
Thanks,
Shawn
Re: [PATCH 1/3] dt-bindings: vendor-prefixes: Add prefix for SIE
Quoted 23 lines · Shawn Anastasio
Quoted 8 lines · Krzysztof Kozlowski
Quoted 7 lines · Shawn Anastasio
Add a vendor prefix for Sony Interactive Entertainment LLC (SIE).
Signed-off-by Shawn Anastasio <[email protected]>--- Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ 1 file changed, 2 insertions(+)Quoted 13 lines
Documentation/devicetree/bindings/vendor-prefixes.yaml patternProperties: · line 1215
Quoted 10 lines
Documentation/devicetree/bindings/vendor-prefixes.yaml +2
-0@@ -1211,6 +1211,8 @@ patternProperties: description: Si-En Technology Ltd. "^si-linux,.*": description: Silicon Linux Corporation + "^sie,.*": + description: Sony Interactive Entertainment LLCIs this different company than Sony?
Quoted 3 lines
Yes. As I understand it, Sony Interactive Entertainment, LLC is its own separate corporate entity, though it is ultimately owned by Sony Group Corporation.
Then why different name? We do not have 10 different Samsungs (there are a lot of them) or LGs.
Best regards,
Krzysztof
PATCH 2/3 dt-bindings: mfd: sie,cronos-cpld: Add initial DT binding
In reply to a message not in the archiveThe SIE Cronos Platform Controller CPLD is a multi-purpose platform controller that provides both a watchdog timer and an LED controller. As both functions are provided by the same CPLD, a multi-function device is exposed as the parent of both functions.
Add a DT binding for this device.
--- .../bindings/mfd/sie,cronos-cpld.yaml | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 Documentation/devicetree/bindings/mfd/sie,cronos-cpld.yaml
Documentation/devicetree/bindings/mfd/sie,cronos-cpld.yaml new file +67 -0
@@ -0,0 +1,67 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +# Copyright 2023 Raptor Engineering, LLC +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mfd/sie,cronos-cpld.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: SIE Cronos Platform Controller CPLD multi-function device + +maintainers: + - Timothy Pearson <[email protected]> + +description: | + The SIE Cronos Platform Controller CPLD is a multi-purpose platform controller + that provides both a watchdog timer and an LED controller. As both functions + are provided by the same CPLD, a multi-function device is exposed as the + parent of both functions. + +properties: + compatible: + const: sie,cronos-cpld + + reg: + maxItems: 1 + + '#address-cells': + const: 1 + + '#size-cells': + const: 1 + + leds: + type: object + description: Cronos Platform Status LEDs + + properties: + compatible: + const: sie,cronos-leds + + watchdog: + type: object + description: Cronos Platform Watchdog Timer + + properties: + compatible: + const: sie,cronos-watchdog + +required: + - compatible + - reg + +additionalProperties: false + +examples: + - | + cpld: cpld@3f { + compatible = "sie,cronos-cpld"; + reg = <0x3f>; + + watchdog { + compatible = "sie,cronos-watchdog"; + }; + + leds { + compatible = "sie,cronos-leds"; + }; + };
Signature · 1 line
2.30.2
Rob Herring
maintainerQuoted 5 lines · Shawn Anastasio
The SIE Cronos Platform Controller CPLD is a multi-purpose platform controller that provides both a watchdog timer and an LED controller. As both functions are provided by the same CPLD, a multi-function device is exposed as the parent of both functions.
Quoted 8 lines
Add a DT binding for this device.
Signed-off-by Shawn Anastasio <[email protected]>--- .../bindings/mfd/sie,cronos-cpld.yaml | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 Documentation/devicetree/bindings/mfd/sie,cronos-cpld.yaml
My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13):
yamllint warnings/errors:
dtschema/dtc warnings/errors:
Documentation/devicetree/bindings/mfd/sie,cronos-cpld.example.dts:20.11-24: Warning (reg_format): /example-0/cpld@3f:reg: property has invalid length (4 bytes) (#address-cells == 1, #size-cells == 1) Documentation/devicetree/bindings/mfd/sie,cronos-cpld.example.dtb: Warning (pci_device_reg): Failed prerequisite 'reg_format' Documentation/devicetree/bindings/mfd/sie,cronos-cpld.example.dtb: Warning (pci_device_bus_num): Failed prerequisite 'reg_format' Documentation/devicetree/bindings/mfd/sie,cronos-cpld.example.dtb: Warning (simple_bus_reg): Failed prerequisite 'reg_format' Documentation/devicetree/bindings/mfd/sie,cronos-cpld.example.dtb: Warning (i2c_bus_reg): Failed prerequisite 'reg_format' Documentation/devicetree/bindings/mfd/sie,cronos-cpld.example.dtb: Warning (spi_bus_reg): Failed prerequisite 'reg_format'
doc reference errors (make refcheckdocs):
The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch.
If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date:
pip3 install dtschema --upgrade
Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
Quoted 1 line · Shawn Anastasio
The SIE Cronos Platform Controller CPLD is a multi-purpose platform
What is SIE? Vendor prefix says sony.
What is Cronos?
Quoted 3 lines
controller that provides both a watchdog timer and an LED controller. As both functions are provided by the same CPLD, a multi-function device is exposed as the parent of both functions.
A nit, subject: drop second/last, redundant "DT binding". The "dt-bindings" prefix is already stating that these are bindings.
Quoted 4 lines
Add a DT binding for this device.
Signed-off-by Shawn Anastasio <[email protected]>
Except that this was clearly no tested...
Quoted 1 line
---
...
Documentation/devicetree/bindings/mfd/sie,cronos-cpld.yaml line 27
Quoted 9 lines
Documentation/devicetree/bindings/mfd/sie,cronos-cpld.yaml new file +9
-0+properties: + compatible: + const: sie,cronos-cpld + + reg: + maxItems: 1 + + '#address-cells': + const: 1
Why do you need it?
Documentation/devicetree/bindings/mfd/sie,cronos-cpld.yaml line 30
Quoted 3 lines
Documentation/devicetree/bindings/mfd/sie,cronos-cpld.yaml new file +3
-0+ + '#size-cells': + const: 1
Also looks unneeded.
Documentation/devicetree/bindings/mfd/sie,cronos-cpld.yaml line 34
Quoted 4 lines
Documentation/devicetree/bindings/mfd/sie,cronos-cpld.yaml new file +4
-0+ + leds: + type: object + description: Cronos Platform Status LEDs
Missing additionalProperties:false... but anyway this is just empty. No resources? Drop the node.
Documentation/devicetree/bindings/mfd/sie,cronos-cpld.yaml line 46
Quoted 12 lines
Documentation/devicetree/bindings/mfd/sie,cronos-cpld.yaml new file +12
-0+ + properties: + compatible: + const: sie,cronos-leds + + watchdog: + type: object + description: Cronos Platform Watchdog Timer + + properties: + compatible: + const: sie,cronos-watchdog
No resources? Drop the node.
Best regards,
Krzysztof
Quoted 5 lines · Krzysztof Kozlowski
Quoted 1 line · Shawn Anastasio
The SIE Cronos Platform Controller CPLD is a multi-purpose platform
What is SIE? Vendor prefix says sony.
(Repeated from my response to your reply to patch 1)
Sony Interactive Entertainment is a separate corporate entity and it's the one that created the hardware to which this driver pertains.
Quoted 2 lines
What is Cronos?
Sorry, I'll amend the description to clarify this. Cronos is an x86 server platform developed and deployed by SIE.
Quoted 8 lines
Quoted 4 lines
controller that provides both a watchdog timer and an LED controller. As both functions are provided by the same CPLD, a multi-function device is exposed as the parent of both functions.
A nit, subject: drop second/last, redundant "DT binding". The "dt-bindings" prefix is already stating that these are bindings.
Will do.
Quoted 7 lines
Quoted 4 lines
Add a DT binding for this device.
Signed-off-by Shawn Anastasio <[email protected]>Except that this was clearly no tested...
My apologies, it seems I didn't have all of the required dependencies installed locally to enable dt binding validation. Will fix.
Quoted 16 lines
Quoted 1 line
---
...
Documentation/devicetree/bindings/mfd/sie,cronos-cpld.yaml line 27
Quoted 9 lines
Documentation/devicetree/bindings/mfd/sie,cronos-cpld.yaml new file +9
-0+properties: + compatible: + const: sie,cronos-cpld + + reg: + maxItems: 1 + + '#address-cells': + const: 1Why do you need it?
Quoted 6 lines
Documentation/devicetree/bindings/mfd/sie,cronos-cpld.yaml line 30
Quoted 3 lines
Documentation/devicetree/bindings/mfd/sie,cronos-cpld.yaml new file +3
-0+ + '#size-cells': + const: 1Also looks unneeded.
These were inherited from an existing dt binding in the tree that I used as a reference. I'll drop them both at your request.
Quoted 8 lines
Documentation/devicetree/bindings/mfd/sie,cronos-cpld.yaml line 34
Quoted 4 lines
Documentation/devicetree/bindings/mfd/sie,cronos-cpld.yaml new file +4
-0+ + leds: + type: object + description: Cronos Platform Status LEDsMissing additionalProperties:false... but anyway this is just empty. No resources? Drop the node.
Having nodes for the leds and the watchdog allows the two independent functions to be enabled/disabled in the device tree by adding/removing the relevant object. Would it be more idiomatic to instead introduce properties to the parent sie,cronos-cpld object to toggle these functions?
Quoted 6 lines
Quoted 6 lines
Documentation/devicetree/bindings/mfd/sie,cronos-cpld.yaml new file +6
-0+ + properties: + compatible: + const: sie,cronos-leds + + watchdog:
Quoted 9 lines
Documentation/devicetree/bindings/mfd/sie,cronos-cpld.yaml line 46
Quoted 6 lines
Documentation/devicetree/bindings/mfd/sie,cronos-cpld.yaml new file +6
-0+ type: object + description: Cronos Platform Watchdog Timer + + properties: + compatible: + const: sie,cronos-watchdogNo resources? Drop the node.
Same question as above.
Quoted 2 lines
Best regards,
Krzysztof
Thanks,
Shawn
Quoted 9 lines · Shawn Anastasio
Quoted 8 lines
Documentation/devicetree/bindings/mfd/sie,cronos-cpld.yaml line 34
Quoted 4 lines
Documentation/devicetree/bindings/mfd/sie,cronos-cpld.yaml new file +4
-0+ + leds: + type: object + description: Cronos Platform Status LEDsMissing additionalProperties:false... but anyway this is just empty. No resources? Drop the node.
Quoted 5 lines
Having nodes for the leds and the watchdog allows the two independent functions to be enabled/disabled in the device tree by adding/removing the relevant object. Would it be more idiomatic to instead introduce properties to the parent sie,cronos-cpld object to toggle these functions?
And why DT should be used to enable/disable them? Or are you suggesting you have different devices under the same compatible?
Best regards,
Krzysztof
PATCH 3/3 mfd: sie-cronos-cpld: Add driver for SIE cronos CPLD
In reply to a message not in the archiveFrom: Timothy Pearson <[email protected]>
The SIE Cronos Platform Controller CPLD is a multi-purpose platform controller that provides both a watchdog timer and an LED controller. As both functions are provided by the same CPLD, a multi-function device is exposed as the parent of both functions.
--- MAINTAINERS | 7 + drivers/mfd/Kconfig | 11 + drivers/mfd/Makefile | 1 + drivers/mfd/sie-cronos-cpld.c | 589 +++++++++++++++++++++++ include/linux/mfd/sie/cronos/core.h | 17 + include/linux/mfd/sie/cronos/registers.h | 59 +++ 6 files changed, 684 insertions(+) create mode 100644 drivers/mfd/sie-cronos-cpld.c create mode 100644 include/linux/mfd/sie/cronos/core.h create mode 100644 include/linux/mfd/sie/cronos/registers.h
MAINTAINERS +7 -0
@@ -19545,6 +19545,13 @@ F: drivers/media/mmc/siano/ F: drivers/media/usb/siano/ F: drivers/media/usb/siano/ +SIE CRONOS CPLD DRIVER +M: Georgy Yakovlev <[email protected]> +S: Maintained +F: Documentation/devicetree/bindings/mfd/sie,cronos-cpld.yaml +F: drivers/mfd/sie-cronos-cpld.c +F: include/linux/mfd/sie/cronos/ + SIEMENS IPC LED DRIVERS M: Gerd Haeussler <[email protected]> M: Xing Tong Wu <[email protected]>
drivers/mfd/Kconfig +11 -0
@@ -2216,6 +2216,17 @@ config MFD_QCOM_PM8008 under it in the device tree. Additional drivers must be enabled in order to use the functionality of the device. +config MFD_SIE_CRONOS_CPLD + tristate "SIE Cronos CPLD Support" + select MFD_CORE + select REGMAP_I2C + depends on I2C + help + Support for the SIE Cronos system control CPLDs. Additional drivers must + be enabled in order to use the functionality of the device, including LED + control and the system watchdog. The controller itself is a custom design + tailored to the specific needs of the SIE Cronos hardware platform. + menu "Multimedia Capabilities Port drivers" depends on ARCH_SA1100
drivers/mfd/Makefile +1 -0
@@ -284,3 +284,4 @@ rsmu-i2c-objs := rsmu_core.o rsmu_i2c.o rsmu-spi-objs := rsmu_core.o rsmu_spi.o obj-$(CONFIG_MFD_RSMU_I2C) += rsmu-i2c.o obj-$(CONFIG_MFD_RSMU_SPI) += rsmu-spi.o +obj-$(CONFIG_MFD_SIE_CRONOS_CPLD) += sie-cronos-cpld.o
drivers/mfd/sie-cronos-cpld.c new file +589 -0
589 lines not on this page · raw message
include/linux/mfd/sie/cronos/core.h new file +17 -0
@@ -0,0 +1,17 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* +* Copyright (C) 2015-2017 Dialog Semiconductor +* Copyright (C) 2022 Raptor Engineering, LLC +*/ + +#ifndef __MFD_SIE_CRONOS_CORE_H__ +#define __MFD_SIE_CRONOS_CORE_H__ + +#include <linux/mfd/sie/cronos/registers.h> + +struct sie_cronos_cpld { +struct device *dev; +struct regmap *regmap; +}; + +#endif /* __MFD_SIE_CRONOS_H__ */
include/linux/mfd/sie/cronos/registers.h new file +59 -0
59 lines not on this page · raw message
--
2.30.2
kernel test robot
build botRe: [PATCH 3/3] mfd: sie-cronos-cpld: Add driver for SIE cronos CPLD
kernel test robot noticed the following build warnings:
Hi Shawn,
kernel test robot noticed the following build warnings:
[auto build test WARNING on lee-mfd/for-mfd-next]
[also build test WARNING on robh/for-next linus/master v6.6-rc4 next-20231004] [cannot apply to lee-leds/for-leds-next lee-mfd/for-mfd-fixes] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Shawn-Anastasio/dt-bindings-mfd-sie-cronos-cpld-Add-initial-DT-binding/20231003-073243 base: https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next patch link: https://lore.kernel.org/r/2e9763cb4fa258fe11769a4ff1544d96c536a4a2.1696285339.git.sanastasio%40raptorengineering.com patch subject: [PATCH 3/3] mfd: sie-cronos-cpld: Add driver for SIE cronos CPLD config: i386-randconfig-063-20231005 (https://download.01.org/0day-ci/archive/20231005/[email protected]/config) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231005/[email protected]/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
All warnings (new ones prefixed by >>):
>> drivers/mfd/sie-cronos-cpld.c:509:34: warning: 'cronos_cpld_dt_ids' defined but not used [-Wunused-const-variable=]
509 | static const struct of_device_id cronos_cpld_dt_ids[] = {
| ^~~~~~~~~~~~~~~~~~vim +/cronos_cpld_dt_ids +509 drivers/mfd/sie-cronos-cpld.c
508
> 509 static const struct of_device_id cronos_cpld_dt_ids[] = { 510 { .compatible = "sie,cronos-cpld", },
511 { }
512 };
513 MODULE_DEVICE_TABLE(of, cronos_cpld_dt_ids);
514
Signature · 2 lines
0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
Lee Jones
maintainerRe: [PATCH 3/3] mfd: sie-cronos-cpld: Add driver for SIE cronos CPLD
Quoted 33 lines · kernel test robot
Hi Shawn,
kernel test robot noticed the following build warnings:
[auto build test WARNING on lee-mfd/for-mfd-next]
[also build test WARNING on robh/for-next linus/master v6.6-rc4 next-20231004] [cannot apply to lee-leds/for-leds-next lee-mfd/for-mfd-fixes] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]url: https://github.com/intel-lab-lkp/linux/commits/Shawn-Anastasio/dt-bindings-mfd-sie-cronos-cpld-Add-initial-DT-binding/20231003-073243 base: https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next patch link: https://lore.kernel.org/r/2e9763cb4fa258fe11769a4ff1544d96c536a4a2.1696285339.git.sanastasio%40raptorengineering.com patch subject: [PATCH 3/3] mfd: sie-cronos-cpld: Add driver for SIE cronos CPLD config: i386-randconfig-063-20231005 (https://download.01.org/0day-ci/archive/20231005/[email protected]/config) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231005/[email protected]/reproduce)If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/All warnings (new ones prefixed by >>):
Quoted 1 line
Quoted 1 line
drivers/mfd/sie-cronos-cpld.c:509:34: warning: 'cronos_cpld_dt_ids' defined but not used [-Wunused-const-variable=]509 | static const struct of_device_id cronos_cpld_dt_ids[] = { | ^~~~~~~~~~~~~~~~~~vim +/cronos_cpld_dt_ids +509
drivers/mfd/sie-cronos-cpld.c
Quoted 11 lines
508Quoted 1 line
509 static const struct
of_device_idcronos_cpld_dt_ids[] = {510 { .compatible = "sie,cronos-cpld", },
511 { }512 }; 513 MODULE_DEVICE_TABLE(of, cronos_cpld_dt_ids); 514Signature · 2 lines
0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
Removing from my queue until this is fixed.
Signature · 1 line
Lee Jones [李琼斯]