Message ID | 20240211205211.2890931-3-megi@xff.cz |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel+bounces-60954-ouuuleilei=gmail.com@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:50ea:b0:106:860b:bbdd with SMTP id r10csp2100390dyd; Sun, 11 Feb 2024 12:53:57 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUSOSed/KjDYnFBR5QQontID/EJxwCj67VpXomAELKESke4NqGDgJj0EnJRSUS2F11gCM99+C6OyIDStYC7YXn75WZmpg== X-Google-Smtp-Source: AGHT+IGfi4i4T7b9qPcPkVWrxySnPXxrYivfzhwAhzsEu1ZaVVTTqSOKjwTU+hAh1xR+QU6XzFkw X-Received: by 2002:a05:6870:3911:b0:219:27ca:1cb0 with SMTP id b17-20020a056870391100b0021927ca1cb0mr5872326oap.15.1707684837208; Sun, 11 Feb 2024 12:53:57 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1707684837; cv=pass; d=google.com; s=arc-20160816; b=o+FSwWKr4AJm2/+CFysv9LH2w4LsqI/e5RHpaqilkscmD45dj7oBNZOAXrpjp6cKD0 n7v2on1A8Kxj1+m+ZdKxIjzTHjAe+niZCftUm/CBGzIPeDViINFEIZWdBvJgymoefMjV asfiOiRPB1rB/BxWM1nqCaOfIk003KK7DoMTnhQ++JIdPHMmHKV64OUHCGEhr+BMRxPS zUtyaBSVUEidNY74dx3OTfH5+NnuTdOgTuNhE5KGbPaP4J8OedO4W9oD51oPgwJXEOTZ HGi+F/g8zKEmQpI1HtiKRyNhJ7kr3GwG1w+kL37SvjQeSxqF12rbwav6xOxA43CwJj7r KaqQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=3pks1APbLQm9QAFocpxXcHLPhCUtc7b12LHhLIOmE7s=; fh=IVNiTwVuUWzcaBtjSiaYOUcPmdReWZEzL82V5f23OV0=; b=ybSkbzrjmcjCWRGTzoIO1yII7Gq1vptLOcXAHO1xAJS09mIVfnufLuAtuJUOYGBmaK ZWmL7Qu3bod8V6fVcA4jAf6CWVdfP0eaI9fzu6OzMjA8yuIsRAnHKqt+Xgt1UgzNCJF5 Mvs3P1IqTwd+FrLv4JJOX4f/qUwacimF0tj3UFRVuV8APE0AeiotobRKW2gq84Ge2cBy OVGAV9V3UCbdLAVcyNAlejaU+6heDbYBpT/UqQwTks2KjKzHcr+Sf5bm4UzoiSGiqyIp yRHkR4u88AxKr/5OtygJFwB0GzVGs+ynt0QD+nFpIya+XPImcH7TYBfVQE9XM0lh6NLe j1kA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@xff.cz header.s=mail header.b=b199vNbE; arc=pass (i=1 spf=pass spfdomain=xff.cz dkim=pass dkdomain=xff.cz dmarc=pass fromdomain=xff.cz); spf=pass (google.com: domain of linux-kernel+bounces-60954-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-60954-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=xff.cz X-Forwarded-Encrypted: i=2; AJvYcCVvmboG6O7/WCWVDUv5LMvCFH8tp5qlisBpaUagdPLLYIyB0hnlX1VUdaWIUAcNx0YJHkwD0TvJ19nQJL++56k68LwO8Q== Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id m65-20020a633f44000000b005dc4f58ab1dsi5316689pga.408.2024.02.11.12.53.56 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 11 Feb 2024 12:53:57 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-60954-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@xff.cz header.s=mail header.b=b199vNbE; arc=pass (i=1 spf=pass spfdomain=xff.cz dkim=pass dkdomain=xff.cz dmarc=pass fromdomain=xff.cz); spf=pass (google.com: domain of linux-kernel+bounces-60954-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-60954-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=xff.cz Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 8D9B6B21C44 for <ouuuleilei@gmail.com>; Sun, 11 Feb 2024 20:53:26 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D03575FEF1; Sun, 11 Feb 2024 20:52:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=xff.cz header.i=@xff.cz header.b="b199vNbE" Received: from vps.xff.cz (vps.xff.cz [195.181.215.36]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9BA8C5DF10; Sun, 11 Feb 2024 20:52:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.181.215.36 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707684744; cv=none; b=EJQV9kjX1km0yQwRZUmfujIhJAU+s+KVcVOvc9KIFmav9n7PkjmAi4oXuUKWppHsWs29dOqfWLJ4NiLK7So488St0JzDXovuOQXV7NHSqNMoDwOWHtKtmqzkx7a8Lmpq0sCVe39Z4RgEp/p3L/fXR9m3thI9vCYXWMqUglTN78k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707684744; c=relaxed/simple; bh=RY4ulIBr47Q0nyCLXIK7t8729sReukS+pt9cj0YsfDA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=eVMR6SkoPK4x4Evch324+mcuj+aQFqVJuu9V1K6+N6xBznMjfsNEDnponlLi7gvLeK2x064EsNTLOonDHUxHTdS8mct4Jlydg5VXACeDlE61DjrrlrLncRyZW+ZJM3grb7R4Zt3XLIDcgGyRJft0rrcRTwCq7nLqX7JkkmEsaBs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=xff.cz; spf=pass smtp.mailfrom=xff.cz; dkim=pass (1024-bit key) header.d=xff.cz header.i=@xff.cz header.b=b199vNbE; arc=none smtp.client-ip=195.181.215.36 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=xff.cz Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=xff.cz DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=xff.cz; s=mail; t=1707684739; bh=RY4ulIBr47Q0nyCLXIK7t8729sReukS+pt9cj0YsfDA=; h=From:To:Cc:Subject:Date:References:From; b=b199vNbE2m8c/4zJ/MMKmOL1ppqreK+7IhuqOTR0Vksbiyb+19t1OiJPkXbxPZuE7 Va+chEoMp/DkV5Sr/yGgIVYaVD9LShDAfuWhnoVmNj77mKPAefF0BKMCzbhfdl0Q6l CHva/mETNjdgcTkrfxNROhm01U1VITSFW7/zP5MY= From: =?utf-8?q?Ond=C5=99ej_Jirman?= <megi@xff.cz> To: Jonathan Cameron <jic23@kernel.org>, Lars-Peter Clausen <lars@metafoo.de>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, Conor Dooley <conor+dt@kernel.org>, Andrey Skvortsov <andrej.skvortzov@gmail.com> Cc: Icenowy Zheng <icenowy@aosc.io>, linux-iio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, =?utf-8?q?Ond?= =?utf-8?q?=C5=99ej_Jirman?= <megi@xff.cz> Subject: [PATCH 2/4] dt-bindings: iio: magnetometer: Add DT binding for Voltafield AF8133J Date: Sun, 11 Feb 2024 21:51:58 +0100 Message-ID: <20240211205211.2890931-3-megi@xff.cz> In-Reply-To: <20240211205211.2890931-1-megi@xff.cz> References: <20240211205211.2890931-1-megi@xff.cz> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1790637335885191218 X-GMAIL-MSGID: 1790637335885191218 |
Series |
Add support for AF8133J magnetometer
|
|
Commit Message
Ondřej Jirman
Feb. 11, 2024, 8:51 p.m. UTC
From: Icenowy Zheng <icenowy@aosc.io> Voltafield AF8133J is a simple magnetometer sensor produced by Voltafield Technology Corp, with dual power supplies (one for core and one for I/O) and active-low reset pin. The sensor has configurable range 1.2 - 2.2 mT and a software controlled standby mode. Add a device tree binding for it. Signed-off-by: Icenowy Zheng <icenowy@aosc.io> Signed-off-by: Ondřej Jirman <megi@xff.cz> --- .../iio/magnetometer/voltafield,af8133j.yaml | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/magnetometer/voltafield,af8133j.yaml
Comments
On Sun, 11 Feb 2024 21:51:58 +0100, Ondřej Jirman wrote: > From: Icenowy Zheng <icenowy@aosc.io> > > Voltafield AF8133J is a simple magnetometer sensor produced by Voltafield > Technology Corp, with dual power supplies (one for core and one for I/O) > and active-low reset pin. > > The sensor has configurable range 1.2 - 2.2 mT and a software controlled > standby mode. > > Add a device tree binding for it. > > Signed-off-by: Icenowy Zheng <icenowy@aosc.io> > Signed-off-by: Ondřej Jirman <megi@xff.cz> > --- > .../iio/magnetometer/voltafield,af8133j.yaml | 58 +++++++++++++++++++ > 1 file changed, 58 insertions(+) > create mode 100644 Documentation/devicetree/bindings/iio/magnetometer/voltafield,af8133j.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: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/magnetometer/voltafield,af8133j.yaml: properties:compatible: ['voltafield,af8133j'] is not of type 'object', 'boolean' from schema $id: http://json-schema.org/draft-07/schema# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/magnetometer/voltafield,af8133j.yaml: properties:compatible: ['voltafield,af8133j'] is not of type 'object', 'boolean' from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/magnetometer/voltafield,af8133j.yaml: ignoring, error in schema: properties: compatible Documentation/devicetree/bindings/iio/magnetometer/voltafield,af8133j.example.dtb: /example-0/i2c/magnetometer@1c: failed to match any schema with compatible: ['voltafield,af8133j'] doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240211205211.2890931-3-megi@xff.cz 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.
Hi Ondřej, kernel test robot noticed the following build warnings: [auto build test WARNING on jic23-iio/togreg] [also build test WARNING on robh/for-next linus/master v6.8-rc4 next-20240212] [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/Ond-ej-Jirman/dt-bindings-vendor-prefix-Add-prefix-for-Voltafield/20240212-045510 base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg patch link: https://lore.kernel.org/r/20240211205211.2890931-3-megi%40xff.cz patch subject: [PATCH 2/4] dt-bindings: iio: magnetometer: Add DT binding for Voltafield AF8133J :::::: branch date: 11 hours ago :::::: commit date: 11 hours ago compiler: loongarch64-linux-gcc (GCC) 13.2.0 reproduce: (https://download.01.org/0day-ci/archive/20240212/202402121531.EoXy0HWe-lkp@intel.com/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 <lkp@intel.com> | Closes: https://lore.kernel.org/r/202402121531.EoXy0HWe-lkp@intel.com/ dtcheck warnings: (new ones prefixed by >>) >> Documentation/devicetree/bindings/iio/magnetometer/voltafield,af8133j.yaml: properties:compatible: ['voltafield,af8133j'] is not of type 'object', 'boolean' from schema $id: http://json-schema.org/draft-07/schema# >> Documentation/devicetree/bindings/iio/magnetometer/voltafield,af8133j.yaml: properties:compatible: ['voltafield,af8133j'] is not of type 'object', 'boolean' from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# -- >> Documentation/devicetree/bindings/iio/magnetometer/voltafield,af8133j.yaml: ignoring, error in schema: properties: compatible
Hi Jonathan, thanks for the feedback. On Mon, Feb 12, 2024 at 11:47:38AM +0000, Jonathan Cameron wrote: > On Sun, 11 Feb 2024 21:51:58 +0100 > Ondřej Jirman <megi@xff.cz> wrote: > > > From: Icenowy Zheng <icenowy@aosc.io> > > Title doesn't need to mention binding (it's implicit from the dt-bindings bit > dt-bindings: iio: magnetometer: Add Voltafield AF8133J > > > > > Voltafield AF8133J is a simple magnetometer sensor produced by Voltafield > > Technology Corp, with dual power supplies (one for core and one for I/O) > > and active-low reset pin. > > > > The sensor has configurable range 1.2 - 2.2 mT and a software controlled > > standby mode. > > > > Add a device tree binding for it. > > > > Signed-off-by: Icenowy Zheng <icenowy@aosc.io> > > Signed-off-by: Ondřej Jirman <megi@xff.cz> > > Hi Ondřej > > A few quick comments. > > > > --- > > .../iio/magnetometer/voltafield,af8133j.yaml | 58 +++++++++++++++++++ > > 1 file changed, 58 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/iio/magnetometer/voltafield,af8133j.yaml > > > > diff --git a/Documentation/devicetree/bindings/iio/magnetometer/voltafield,af8133j.yaml b/Documentation/devicetree/bindings/iio/magnetometer/voltafield,af8133j.yaml > > new file mode 100644 > > index 000000000000..ab56c0f798ad > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/iio/magnetometer/voltafield,af8133j.yaml > > @@ -0,0 +1,58 @@ > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/iio/magnetometer/voltafield,af8133j.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Voltafield AF8133J magnetometer sensor > > + > > +maintainers: > > + - Ondřej Jirman <megi@xff.cz> > > + > > +properties: > > + compatible: > > + - voltafield,af8133j > Test your bindings (as described in the bot message). > const: voltafield,af8133j I did, but didn't notice that DT_SCHEMA_FILES= didn't work as expected when provided with full path to the bindings file. :) Just using DT_SCHEMA_FILES=voltafield,af8133j.yaml works better and catches this issue. > > + > > + reg: > > + maxItems: 1 > > + > > + reset-gpios: > > + description: | > No need for the | as the formatting doesn't need to be preserved. > > > + an pin needed for AF8133J to set the reset state. This should be usually > > A pin > > > + active low. > > + > > + avdd-supply: > > + description: | > > + an optional regulator that needs to be on to provide AVDD power (Working > > An optional (if it were optional, A regulator if not) > > > + power, usually 3.3V) to the sensor. > Seems unlikely the power supply is optional (though specifying it in DT might be - > however see below). > > > + > > + dvdd-supply: > > + description: | > > + an optional regulator that needs to be on to provide DVDD power (Digital > > + IO power, 1.8V~AVDD) to the sensor. > > + > > + mount-matrix: > > + description: an optional 3x3 mounting rotation matrix. > > + > > +required: > > + - compatible > > + - reg > > Any power supply that is required for operation should be listed here (even though > we can rely on the stub supplies if it isn't in the DT). > I used to think this wasn't necessary, so lots of bindings upstream don't yet > have it. By stub supply you mean dummy supply created when the *-supply property is not specified in DT? Or something else? Because DTC_CHK prints a warning if I make the proerty required in bindings and not specify it in DT arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.2b.dtb: magnetometer@1c: 'avdd-supply' is a required property from schema $id: http://devicetree.org/schemas/iio/magnetometer/voltafield,af8133j.yaml# kind regards, o. > > + > > +additionalProperties: false > > + > > +examples: > > + - | > > + #include <dt-bindings/interrupt-controller/irq.h> > > + #include <dt-bindings/gpio/gpio.h> > > + i2c { > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + magnetometer@1c { > > + compatible = "voltafield,af8133j"; > > + reg = <0x1c>; > > + avdd-supply = <®_dldo1>; > > + dvdd-supply = <®_dldo1>; > > + reset-gpios = <&pio 1 1 GPIO_ACTIVE_LOW>; > > + }; > > + }; >
On Wed, Feb 14, 2024 at 04:31:16PM +0000, Jonathan Cameron wrote: > > > > > + > > > > + dvdd-supply: > > > > + description: | > > > > + an optional regulator that needs to be on to provide DVDD power (Digital > > > > + IO power, 1.8V~AVDD) to the sensor. > > > > + > > > > + mount-matrix: > > > > + description: an optional 3x3 mounting rotation matrix. > > > > + > > > > +required: > > > > + - compatible > > > > + - reg > > > > > > Any power supply that is required for operation should be listed here (even though > > > we can rely on the stub supplies if it isn't in the DT). > > > I used to think this wasn't necessary, so lots of bindings upstream don't yet > > > have it. > > > > By stub supply you mean dummy supply created when the *-supply property is not > > specified in DT? Or something else? > > Ah yes. I got the term wrong. > > > > Because DTC_CHK prints a warning if I make the proerty required in bindings and > > not specify it in DT > > > > arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.2b.dtb: magnetometer@1c: 'avdd-supply' is a required property > > from schema $id: http://devicetree.org/schemas/iio/magnetometer/voltafield,af8133j.yaml# > > Provide one, or don't worry about that warning. For the sake of the platform maintainer, please choose option 1. Thanks, Conor. > Various discussions have taken place on this over time and end > result is bindings should require them to differentiate from power > supplies that are actually optional. > > Jonathan > >
diff --git a/Documentation/devicetree/bindings/iio/magnetometer/voltafield,af8133j.yaml b/Documentation/devicetree/bindings/iio/magnetometer/voltafield,af8133j.yaml new file mode 100644 index 000000000000..ab56c0f798ad --- /dev/null +++ b/Documentation/devicetree/bindings/iio/magnetometer/voltafield,af8133j.yaml @@ -0,0 +1,58 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iio/magnetometer/voltafield,af8133j.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Voltafield AF8133J magnetometer sensor + +maintainers: + - Ondřej Jirman <megi@xff.cz> + +properties: + compatible: + - voltafield,af8133j + + reg: + maxItems: 1 + + reset-gpios: + description: | + an pin needed for AF8133J to set the reset state. This should be usually + active low. + + avdd-supply: + description: | + an optional regulator that needs to be on to provide AVDD power (Working + power, usually 3.3V) to the sensor. + + dvdd-supply: + description: | + an optional regulator that needs to be on to provide DVDD power (Digital + IO power, 1.8V~AVDD) to the sensor. + + mount-matrix: + description: an optional 3x3 mounting rotation matrix. + +required: + - compatible + - reg + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/irq.h> + #include <dt-bindings/gpio/gpio.h> + i2c { + #address-cells = <1>; + #size-cells = <0>; + + magnetometer@1c { + compatible = "voltafield,af8133j"; + reg = <0x1c>; + avdd-supply = <®_dldo1>; + dvdd-supply = <®_dldo1>; + reset-gpios = <&pio 1 1 GPIO_ACTIVE_LOW>; + }; + };