Re: [PATCH V3 1/2] dt-bindings: iio: Add YAML to Awinic proximity sensor

Krzysztof Kozlowski
2024-07-12T11:55:17Z

On 12/07/2024 13:31, wangshuaijie@awinic.com wrote:
> From: shuaijie wang <wangshuaijie@awinic.com>
>
> Add the awinic,aw96xxx.yaml file to adapt to the awinic proximity sensor driver.
> Addressing the issues raised in the previous version.
> 1. Add a description about the hardware device.
> 2. Remove inappropriate configuration items.
> 3. Modify the formatting issues.

That's commit msg or changelog? Don't mix both. Read submitting patches.

>
> Signed-off-by: shuaijie wang <wangshuaijie@awinic.com>
> ---
> .../iio/proximity/awinic,aw96xxx.yaml | 127 ++++++++++++++++++
> 1 file changed, 127 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/iio/proximity/awinic,aw96xxx.yaml
>
> diff --git a/Documentation/devicetree/bindings/iio/proximity/awinic,aw96xxx.yaml b/Documentation/devicetree/bindings/iio/proximity/awinic,aw96xxx.yaml
> new file mode 100644
> index 000000000000..459cb1644d3c
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/proximity/awinic,aw96xxx.yaml
> @@ -0,0 +1,127 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/input/awinic,aw96xxx.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Awinic's AW96XXX capacitive proximity sensor
> +
> +maintainers:
> + - Shuaijie Wang <wangshuaijie@awinic.com>
> +
> +description: |
> + Awinic's AW96XXX proximity sensor.
> + The specific absorption rate (SAR) is a metric that measures
> + the degree of absorption of electromagnetic radiation emitted by wireless
> + devices, such as mobile phones and tablets, by human tissue.
> + In mobile phone applications, the proximity sensor is primarily used to detect
> + the proximity of the human body to the phone. When the phone approaches the human body,
> + it will actively reduce the transmit power of the antenna to keep the SAR within a safe
> + range. Therefore, we also refer to the proximity sensor as a SAR sensor.

Wrap at 80 (see Coding style).

> +
> +properties:
> + compatible:
> + enum:
> + - awinic,aw96103
> + - awinic,aw96105
> + - awinic,aw96303
> + - awinic,aw96305
> + - awinic,aw96308
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + description:
> + Generated by the device to announce that a close/far
> + proximity event has happened.
> + maxItems: 1
> +
> + awinic,sar-num:

Drop the property. I already asked.

> + $ref: /schemas/types.yaml#/definitions/uint32
> + description:
> + Set the number of the SAR(Specific Absorption Rate) sensor.
> + It is set to 0 if one awinic sar chip is used.
> + If two awinic sar chips are used, awinic,sar-label in the first
> + awinic-sar should be set to 0 and awinic,sar-label in the second
> + awinic-sar should be set to 1.
> + In an application where a device utilizes multiple proximity sensors,
> + it is used to retrieve the names of the register configuration files
> + that the drivers need to load. For example: aw963xx_reg_0.bin/aw963xx_reg_1.bin
> +
> + awinic,regulator-power-supply:

It does not look like you tested the bindings, at least after quick
look. Please run `make dt_binding_check` (see
Documentation/devicetree/bindings/writing-schema.rst for instructions).
Maybe you need to update your dtschema and yamllint.

> + description:
> + Choose if you want to use a regulator to power the chip. Then the
> + vccX-supply has to be set.
> +
> + vcc0-supply:
> + description:
> + Optional regulator for chip, 1.7V-3.6V.
> + If two awinic sar chips are used, the first regulator
> + should set the ID to vcc0-supply and the second regulator
> + should set the ID to vcc1-supply.
> +
> + awinic,channel-use-mask:

Aren't there existing IIO properties like this?

> + $ref: /schemas/types.yaml#/definitions/uint32
> + description:
> + The mask of channels used.
> + Configure according to the specific chip channel used.
> + Bit[31:0] Each bit represents a channel.
> + If the customer uses ch0 and ch2, then channel_use_mask=<0x05>
> + For a 3-channel chip, the maximum value is 0x07;
> + For a 5-channel chip, the maximum value is 0x1F;
> + For a 8-channel chip, the maximum value is 0xFF;
> +
> + awinic,monitor-esd:
> + type: boolean
> + description:
> + Choose if you want to monitor ESD.

Why this is a choice? How does this describe hardware.

> +
> + awinic,pin-set-inter-pull-up:
> + type: boolean
> + description:
> + Choose if you want to set the interrupt pin to internal pull-up.
> +
> + awinic,using-pm-ops:

NAK, drop all such OS policies.

> + type: boolean
> + description:
> + Choose if you want to change the chip mode on suppend and resume.
> +
> + awinic,use-plug-cail:> + type: boolean
> + description:
> + Choose If you want to perform calibration when plugging and unplugging the charger.

And why this is board dependent?

> +
> + awinic,irq-mux:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum: [2, 5]
> + description:
> + You only need to set this configuration item if you are using AW96308 adn AW96305BFOR.
> + If CS2 is used as the interrupt pin, this item should be set to 2.
> + If CS5 is used as the interrupt pin, this item should be set to 5.
> +

Best regards,
Krzysztof