[PATCH v4 1/9] dt-bindings: mfd: Add TI-Nspire misc registers

Andrew Davis afd at ti.com
Wed Nov 2 12:05:28 PDT 2022


On 11/2/22 12:35 PM, Rob Herring wrote:
> On Tue, Nov 01, 2022 at 04:57:56PM -0500, Andrew Davis wrote:
>> The TI Nspire devices contain a set of registers with a seemingly
>> miscellaneous set of functionality. This area is known simply as the
>> "misc" region.
>>
>> Signed-off-by: Andrew Davis <afd at ti.com>
>> ---
>>   .../bindings/mfd/ti,nspire-misc.yaml          | 55 +++++++++++++++++++
>>   1 file changed, 55 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/mfd/ti,nspire-misc.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/mfd/ti,nspire-misc.yaml b/Documentation/devicetree/bindings/mfd/ti,nspire-misc.yaml
>> new file mode 100644
>> index 0000000000000..d409eae7537bd
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/mfd/ti,nspire-misc.yaml
>> @@ -0,0 +1,55 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +# Copyright (C) 2022 Texas Instruments Incorporated - https://www.ti.com/
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/mfd/ti,nspire-misc.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: TI Nspire MISC hardware block
>> +
>> +maintainers:
>> +  - Andrew Davis <afd at ti.com>
>> +
>> +description: |
>> +  System controller node represents a register region containing a set
>> +  of miscellaneous registers. The registers are not cohesive enough to
>> +  represent as any specific type of device. The typical use-case is
>> +  for some other node's driver, or platform-specific code, to acquire
>> +  a reference to the syscon node (e.g. by phandle, node path, or
>> +  search using a specific compatible value), interrogate the node (or
>> +  associated OS driver) to determine the location of the registers,
>> +  and access the registers directly.
> 
> Looks like you copied the generic description? Describe what MISC
> contains.
> 

I don't know what all MISC contains (or maybe I do, but it is not
publicly available so I'm not going to add anything that hasn't
already been found by clean-room reverse engineering [0]).

This is the point I was trying to make in that thread on v3. The
node's content *is* the hardware description. Every time a new
register is found it could have just been added to the DT. But now
we also have to go back here and add the exact same information
to the binding, every time. We don't require that for simple-bus,
should simple-mfd be given the same flexibility?

[0] https://hackspire.org/index.php?title=Memory-mapped_I/O_ports_on_Classic#900A0000_-_Miscellaneous

>> +
>> +properties:
>> +  compatible:
>> +    items:
>> +      - enum:
>> +          - ti,nspire-misc
>> +      - const: syscon
>> +      - const: simple-mfd
>> +
>> +  reg:
>> +    maxItems: 1
>> +
>> +  reboot:
>> +    $ref: "../power/reset/syscon-reboot.yaml"
> 
> /schemas/power/...
> 
> And no quotes needed.
> 

Will fix.

Andrew

>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +  - reboot
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> +  - |
>> +    misc: misc at 900a0000 {
>> +      compatible = "ti,nspire-misc", "syscon", "simple-mfd";
>> +      reg = <0x900a0000 0x1000>;
>> +
>> +      reboot {
>> +        compatible = "syscon-reboot";
>> +        offset = <0x08>;
>> +        value = <0x02>;
>> +      };
>> +    };
>> -- 
>> 2.37.3
>>
>>



More information about the linux-arm-kernel mailing list