@@ -1,19 +0,0 @@-BCM7038 Watchdog timer--Required properties:--- compatible : should be "brcm,bcm7038-wdt"-- reg : Specifies base physical address and size of the registers.--Optional properties:--- clocks: The clock running the watchdog. If no clock is found the- driver will default to 27000000 Hz.--Example:--watchdog@f040a7e8 {- compatible = "brcm,bcm7038-wdt";- clocks = <&upg_fixed>;- reg = <0xf040a7e8 0x16>;-};
@@ -0,0 +1,40 @@+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause+%YAML1.2+---+$id:http://devicetree.org/schemas/watchdog/brcm,bcm63xx-wdt.yaml#+$schema:http://devicetree.org/meta-schemas/core.yaml#++title:BCM7038 watchdog timer++allOf:+-$ref:"watchdog.yaml#"++maintainers:+-Florian Fainelli <f.fainelli@gmail.com>+-Justin Chen <justinpopo6@gmail.com>+-Rafał Miłecki <rafal@milecki.pl>++properties:+compatible:+const:brcm,bcm7038-wdt++reg:+maxItems:1++clocks:+description:>+The clock running the watchdog. If no clock is found the driver will+default to 27000000 Hz.++unevaluatedProperties:false++required:+-reg++examples:+-|+watchdog@f040a7e8 {+compatible = "brcm,bcm7038-wdt";+reg = <0xf040a7e8 0x16>;+clocks = <&upg_fixed>;+};
--
2.31.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
From: Rafał Miłecki <rafal@milecki.pl>
This block is called timer in documentation but it actually behaves like
a MFD.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
---
.../bindings/mfd/brcm,timer-mfd.yaml | 64 +++++++++++++++++++
1 file changed, 64 insertions(+)
create mode 100644 Documentation/devicetree/bindings/mfd/brcm,timer-mfd.yaml
From: Rafał Miłecki <rafal@milecki.pl>
This block is called timer in documentation but it actually behaves like
a MFD.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
---
.../bindings/mfd/brcm,timer-mfd.yaml | 64 +++++++++++++++++++
1 file changed, 64 insertions(+)
create mode 100644 Documentation/devicetree/bindings/mfd/brcm,timer-mfd.yaml
@@ -0,0 +1,64 @@+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause+%YAML1.2+---+$id:http://devicetree.org/schemas/mfd/brcm,timer-mfd.yaml#+$schema:http://devicetree.org/meta-schemas/core.yaml#++title:Broadcom's timer MFD++maintainers:+-Rafał Miłecki <rafal@milecki.pl>++description:|+Broadcom's timer is a block used in multiple SoCs (e.g., BCM4908, BCM63xx,+BCM7038). Despite its name it's not strictly a timer device. It consists of:+timers, watchdog and software reset handler.
Small nit here, the software reset handler part is only present on the
BCM63xx and BCM4908 (which is a derivative of 63xx) but not on the
BCM7xxx chips.
Also, there is some difference in how the registers are organized:
4908 has it that way:
TIMERCTL0
TIMERCTL1
TIMERCTL2
TIMERCNT0
TIMERCNT1
TIMERCNT2
TIMERIRQMASK
TIMERIRQSTAT
WATCHDOG_COUNT
WATCHDOG_CTL
WATCHDOG_RESET_CNT
CHIP_RESET
Whereas on STB chips it looks like this for all chips:
TIMERIS (interrupt status)
TIMERIE (interrupt enable)
TIMER0_CTRL
TIMER1_CTRL
TIMER2_CTRL
TIMER3_CTRL
TIMER0_STATUS
TIMER1_STATUS
TIMER2_STATUS
TIMER3_STATUS
WATCHDOG_COUNT
WATCHDOT_CTL
WATCHDOG_RESET_CNT
TIMERIE0 (interrupt enable the STB chip is a PCI(e) end-point)
WATCHDOG_CTRL (controls the type of event signaled: NMI, half-life etc.)
I suppose it is just more justification to have them broken out as
separate blocks given their layout looks largely the same except where
it does not.
Thanks
--
Florian
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
From: Rafał Miłecki <rafal@milecki.pl>
This block is called timer in documentation but it actually behaves like
a MFD.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
---
.../bindings/mfd/brcm,timer-mfd.yaml | 64 +++++++++++++++++++
1 file changed, 64 insertions(+)
create mode 100644 Documentation/devicetree/bindings/mfd/brcm,timer-mfd.yaml
@@ -0,0 +1,64 @@+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause+%YAML1.2+---+$id:http://devicetree.org/schemas/mfd/brcm,timer-mfd.yaml#+$schema:http://devicetree.org/meta-schemas/core.yaml#++title:Broadcom's timer MFD++maintainers:+-Rafał Miłecki <rafal@milecki.pl>++description:|+Broadcom's timer is a block used in multiple SoCs (e.g., BCM4908, BCM63xx,+BCM7038). Despite its name it's not strictly a timer device. It consists of:+timers, watchdog and software reset handler.
Small nit here, the software reset handler part is only present on the
BCM63xx and BCM4908 (which is a derivative of 63xx) but not on the
BCM7xxx chips.
Should I simply make it "and (optionally) software reset handler"?
Also, there is some difference in how the registers are organized:
From: Rob Herring <robh@kernel.org> Date: 2021-11-01 19:15:37
On Fri, Oct 29, 2021 at 10:25:05PM +0200, Rafał Miłecki wrote:
quoted hunk
From: Rafał Miłecki <rafal@milecki.pl>
This block is called timer in documentation but it actually behaves like
a MFD.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
---
.../bindings/mfd/brcm,timer-mfd.yaml | 64 +++++++++++++++++++
1 file changed, 64 insertions(+)
create mode 100644 Documentation/devicetree/bindings/mfd/brcm,timer-mfd.yaml
@@ -0,0 +1,64 @@+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause+%YAML1.2+---+$id:http://devicetree.org/schemas/mfd/brcm,timer-mfd.yaml#+$schema:http://devicetree.org/meta-schemas/core.yaml#++title:Broadcom's timer MFD++maintainers:+-Rafał Miłecki <rafal@milecki.pl>++description:|+Broadcom's timer is a block used in multiple SoCs (e.g., BCM4908, BCM63xx,+BCM7038). Despite its name it's not strictly a timer device. It consists of:+timers, watchdog and software reset handler.++properties:+compatible:+items:+-const:brcm,timer-mfd
'mfd' is a Linuxism. Name it what Broadcom calls the block. There should
be at least as many compatibles as there are variations of register
layouts.
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/watchdog/brcm,bcm7038-wdt.yaml: $id: relative path/filename doesn't match actual path or filename
expected: http://devicetree.org/schemas/watchdog/brcm,bcm7038-wdt.yaml#
doc reference errors (make refcheckdocs):
See https://patchwork.ozlabs.org/patch/1548262
This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.
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.