From: Jonathan Cameron <jic23@kernel.org>
To: Krzysztof Kozlowski <krzk@kernel.org>
Cc: "Rob Herring" <robh+dt@kernel.org>,
"Mark Rutland" <mark.rutland@arm.com>,
"Kukjin Kim" <kgene@kernel.org>,
"Hartmut Knaack" <knaack.h@gmx.de>,
"Lars-Peter Clausen" <lars@metafoo.de>,
"Peter Meerwald-Stadler" <pmeerw@pmeerw.net>,
"Sebastian Reichel" <sre@kernel.org>,
"Alessandro Zummo" <a.zummo@towertech.it>,
"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
"Paweł Chmiel" <pawel.mikolaj.chmiel@gmail.com>,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-iio@vger.kernel.org, linux-pm@vger.kernel.org,
linux-rtc@vger.kernel.org
Subject: Re: [PATCH v2 10/11] dt-bindings: iio: adc: exynos: Convert Exynos ADC bindings to json-schema
Date: Sun, 8 Sep 2019 13:29:44 +0100 [thread overview]
Message-ID: <20190908132944.029f3a93@archlinux> (raw)
In-Reply-To: <20190907092007.9946-10-krzk@kernel.org>
On Sat, 7 Sep 2019 11:20:06 +0200
Krzysztof Kozlowski <krzk@kernel.org> wrote:
> Convert Samsung Exynos Analog to Digital Converter bindings to DT schema
> format using json-schema.
>
> This is a direct conversion of existing bindings so it also copies the
> existing error in the bindings regarding the requirement of two register
> address ranges for certain compatibles. The inconsistency in binding
> was caused by commit fafb37cfae6d ("iio: exyno-adc: use syscon for PMU
> register access").
>
> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
To my less than experienced eye when it comes to yaml, this looks fine.
I'll wait on more experienced review before I apply it however!
Thanks,
Jonathan
>
> ---
>
> Changes since v1:
> 1. Rework reg, clocks and clock-names matching for specific compatibles,
> 2. Make samsung,syscon-phandle required only on certain compatibles,
> 3. Fix indentation.
> ---
> .../bindings/iio/adc/samsung,exynos-adc.txt | 107 ------------
> .../bindings/iio/adc/samsung,exynos-adc.yaml | 163 ++++++++++++++++++
> 2 files changed, 163 insertions(+), 107 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/iio/adc/samsung,exynos-adc.txt
> create mode 100644 Documentation/devicetree/bindings/iio/adc/samsung,exynos-adc.yaml
>
> diff --git a/Documentation/devicetree/bindings/iio/adc/samsung,exynos-adc.txt b/Documentation/devicetree/bindings/iio/adc/samsung,exynos-adc.txt
> deleted file mode 100644
> index e1fe02f3e3e9..000000000000
> --- a/Documentation/devicetree/bindings/iio/adc/samsung,exynos-adc.txt
> +++ /dev/null
> @@ -1,107 +0,0 @@
> -Samsung Exynos Analog to Digital Converter bindings
> -
> -The devicetree bindings are for the new ADC driver written for
> -Exynos4 and upward SoCs from Samsung.
> -
> -New driver handles the following
> -1. Supports ADC IF found on EXYNOS4412/EXYNOS5250
> - and future SoCs from Samsung
> -2. Add ADC driver under iio/adc framework
> -3. Also adds the Documentation for device tree bindings
> -
> -Required properties:
> -- compatible: Must be "samsung,exynos-adc-v1"
> - for Exynos5250 controllers.
> - Must be "samsung,exynos-adc-v2" for
> - future controllers.
> - Must be "samsung,exynos3250-adc" for
> - controllers compatible with ADC of Exynos3250.
> - Must be "samsung,exynos4212-adc" for
> - controllers compatible with ADC of Exynos4212 and Exynos4412.
> - Must be "samsung,exynos7-adc" for
> - the ADC in Exynos7 and compatibles
> - Must be "samsung,s3c2410-adc" for
> - the ADC in s3c2410 and compatibles
> - Must be "samsung,s3c2416-adc" for
> - the ADC in s3c2416 and compatibles
> - Must be "samsung,s3c2440-adc" for
> - the ADC in s3c2440 and compatibles
> - Must be "samsung,s3c2443-adc" for
> - the ADC in s3c2443 and compatibles
> - Must be "samsung,s3c6410-adc" for
> - the ADC in s3c6410 and compatibles
> - Must be "samsung,s5pv210-adc" for
> - the ADC in s5pv210 and compatibles
> -- reg: List of ADC register address range
> - - The base address and range of ADC register
> - - The base address and range of ADC_PHY register (every
> - SoC except for s3c24xx/s3c64xx ADC)
> -- interrupts: Contains the interrupt information for the timer. The
> - format is being dependent on which interrupt controller
> - the Samsung device uses.
> -- #io-channel-cells = <1>; As ADC has multiple outputs
> -- clocks From common clock bindings: handles to clocks specified
> - in "clock-names" property, in the same order.
> -- clock-names From common clock bindings: list of clock input names
> - used by ADC block:
> - - "adc" : ADC bus clock
> - - "sclk" : ADC special clock (only for Exynos3250 and
> - compatible ADC block)
> -- vdd-supply VDD input supply.
> -
> -- samsung,syscon-phandle Contains the PMU system controller node
> - (To access the ADC_PHY register on Exynos5250/5420/5800/3250)
> -Optional properties:
> -- has-touchscreen: If present, indicates that a touchscreen is
> - connected an usable.
> -
> -Note: child nodes can be added for auto probing from device tree.
> -
> -Example: adding device info in dtsi file
> -
> -adc: adc@12d10000 {
> - compatible = "samsung,exynos-adc-v1";
> - reg = <0x12D10000 0x100>;
> - interrupts = <0 106 0>;
> - #io-channel-cells = <1>;
> - io-channel-ranges;
> -
> - clocks = <&clock 303>;
> - clock-names = "adc";
> -
> - vdd-supply = <&buck5_reg>;
> - samsung,syscon-phandle = <&pmu_system_controller>;
> -};
> -
> -Example: adding device info in dtsi file for Exynos3250 with additional sclk
> -
> -adc: adc@126c0000 {
> - compatible = "samsung,exynos3250-adc", "samsung,exynos-adc-v2;
> - reg = <0x126C0000 0x100>;
> - interrupts = <0 137 0>;
> - #io-channel-cells = <1>;
> - io-channel-ranges;
> -
> - clocks = <&cmu CLK_TSADC>, <&cmu CLK_SCLK_TSADC>;
> - clock-names = "adc", "sclk";
> -
> - vdd-supply = <&buck5_reg>;
> - samsung,syscon-phandle = <&pmu_system_controller>;
> -};
> -
> -Example: Adding child nodes in dts file
> -
> -adc@12d10000 {
> -
> - /* NTC thermistor is a hwmon device */
> - ncp15wb473@0 {
> - compatible = "murata,ncp15wb473";
> - pullup-uv = <1800000>;
> - pullup-ohm = <47000>;
> - pulldown-ohm = <0>;
> - io-channels = <&adc 4>;
> - };
> -};
> -
> -Note: Does not apply to ADC driver under arch/arm/plat-samsung/
> -Note: The child node can be added under the adc node or separately.
> diff --git a/Documentation/devicetree/bindings/iio/adc/samsung,exynos-adc.yaml b/Documentation/devicetree/bindings/iio/adc/samsung,exynos-adc.yaml
> new file mode 100644
> index 000000000000..dd58121f25b1
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/adc/samsung,exynos-adc.yaml
> @@ -0,0 +1,163 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iio/adc/samsung,exynos-adc.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Samsung Exynos Analog to Digital Converter (ADC)
> +
> +maintainers:
> + - Krzysztof Kozlowski <krzk@kernel.org>
> +
> +properties:
> + compatible:
> + enum:
> + - samsung,exynos-adc-v1 # Exynos5250
> + - samsung,exynos-adc-v2
> + - samsung,exynos3250-adc
> + - samsung,exynos4212-adc # Exynos4212 and Exynos4412
> + - samsung,exynos7-adc
> + - samsung,s3c2410-adc
> + - samsung,s3c2416-adc
> + - samsung,s3c2440-adc
> + - samsung,s3c2443-adc
> + - samsung,s3c6410-adc
> + - samsung,s5pv210-adc
> +
> + reg:
> + minItems: 1
> + maxItems: 2
> +
> + clocks:
> + description:
> + Phandle to ADC bus clock. For Exynos3250 additional clock is needed.
> + minItems: 1
> + maxItems: 2
> +
> + clock-names:
> + description:
> + Must contain clock names (adc, sclk) matching phandles in clocks
> + property.
> + minItems: 1
> + maxItems: 2
> +
> + interrupts:
> + maxItems: 1
> +
> + "#io-channel-cells":
> + const: 1
> +
> + vdd-supply:
> + description: VDD input supply
> + maxItems: 1
> +
> + samsung,syscon-phandle:
> + $ref: '/schemas/types.yaml#/definitions/phandle'
> + description:
> + Phandle to the PMU system controller node (to access the ADC_PHY
> + register on Exynos5250/5420/5800/3250).
> +
> + has-touchscreen:
> + description:
> + If present, indicates that a touchscreen is connected and usable.
> + type: boolean
> +
> +required:
> + - compatible
> + - reg
> + - clocks
> + - clock-names
> + - interrupts
> + - "#io-channel-cells"
> + - vdd-supply
> +
> +allOf:
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - samsung,exynos-adc-v1
> + - samsung,exynos-adc-v2
> + - samsung,exynos3250-adc
> + - samsung,exynos4212-adc
> + - samsung,s5pv210-adc
> + then:
> + properties:
> + reg:
> + items:
> + # For S5P and Exynos
> + - description: base registers
> + - description: phy registers
> + required:
> + - samsung,syscon-phandle
> + else:
> + properties:
> + reg:
> + items:
> + - description: base registers
> +
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - samsung,exynos3250-adc
> + then:
> + properties:
> + clocks:
> + minItems: 2
> + maxItems: 2
> + clock-names:
> + items:
> + - const: adc
> + - const: sclk
> + else:
> + properties:
> + clocks:
> + minItems: 1
> + maxItems: 1
> + clock-names:
> + items:
> + - const: adc
> +
> +examples:
> + - |
> + adc: adc@12d10000 {
> + compatible = "samsung,exynos-adc-v1";
> + reg = <0x12d10000 0x100>;
> + interrupts = <0 106 0>;
> + #io-channel-cells = <1>;
> + io-channel-ranges;
> +
> + clocks = <&clock 303>;
> + clock-names = "adc";
> +
> + vdd-supply = <&buck5_reg>;
> + samsung,syscon-phandle = <&pmu_system_controller>;
> +
> + /* NTC thermistor is a hwmon device */
> + ncp15wb473@0 {
> + compatible = "murata,ncp15wb473";
> + pullup-uv = <1800000>;
> + pullup-ohm = <47000>;
> + pulldown-ohm = <0>;
> + io-channels = <&adc 4>;
> + };
> + };
> +
> + - |
> + adc@126c0000 {
> + compatible = "samsung,exynos3250-adc";
> + reg = <0x126C0000 0x100>;
> + interrupts = <0 137 0>;
> + #io-channel-cells = <1>;
> + io-channel-ranges;
> +
> + clocks = <&cmu 0>, // CLK_TSADC
> + <&cmu 1>; // CLK_SCLK_TSADC
> + clock-names = "adc", "sclk";
> +
> + vdd-supply = <&buck5_reg>;
> + samsung,syscon-phandle = <&pmu_system_controller>;
> + };
next prev parent reply other threads:[~2019-09-08 12:29 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-07 9:19 [PATCH v2 01/11] dt-bindings: power: syscon-reboot: Convert bindings to json-schema Krzysztof Kozlowski
2019-09-07 9:19 ` [PATCH v2 02/11] dt-bindings: power: syscon-poweroff: " Krzysztof Kozlowski
2019-09-18 12:56 ` Rob Herring
2019-09-07 9:19 ` [PATCH v2 03/11] dt-bindings: arm: samsung: Convert Samsung board/soc " Krzysztof Kozlowski
2019-09-18 12:56 ` Rob Herring
2019-09-07 9:20 ` [PATCH v2 04/11] dt-bindings: arm: samsung: Document missing S5Pv210 boards bindings Krzysztof Kozlowski
2019-09-18 12:56 ` Rob Herring
2019-09-07 9:20 ` [PATCH v2 05/11] dt-bindings: arm: samsung: Document missing Exynos7 " Krzysztof Kozlowski
2019-09-18 12:56 ` Rob Herring
2019-09-07 9:20 ` [PATCH v2 06/11] dt-bindings: arm: samsung: Convert Exynos Chipid bindings to json-schema Krzysztof Kozlowski
2019-09-18 12:57 ` Rob Herring
2019-09-07 9:20 ` [PATCH v2 07/11] dt-bindings: arm: samsung: Convert Exynos PMU " Krzysztof Kozlowski
2019-09-18 12:43 ` Rob Herring
2019-09-18 13:17 ` Krzysztof Kozlowski
2019-09-07 9:20 ` [PATCH v2 08/11] dt-bindings: arm: samsung: Convert Exynos System Registers " Krzysztof Kozlowski
2019-09-18 12:36 ` Rob Herring
2019-09-18 13:07 ` Krzysztof Kozlowski
2019-09-07 9:20 ` [PATCH v2 09/11] dt-bindings: rtc: s3c: Convert S3C/Exynos RTC " Krzysztof Kozlowski
2019-09-18 12:57 ` Rob Herring
2019-09-07 9:20 ` [PATCH v2 10/11] dt-bindings: iio: adc: exynos: Convert Exynos ADC " Krzysztof Kozlowski
2019-09-08 12:29 ` Jonathan Cameron [this message]
2019-09-18 12:58 ` Rob Herring
2019-09-07 9:20 ` [PATCH v2 11/11] dt-bindings: iio: adc: exynos: Remove old requirement of two register address ranges Krzysztof Kozlowski
2019-09-08 12:31 ` Jonathan Cameron
2019-09-18 12:58 ` Rob Herring
2019-09-18 12:55 ` [PATCH v2 01/11] dt-bindings: power: syscon-reboot: Convert bindings to json-schema Rob Herring
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190908132944.029f3a93@archlinux \
--to=jic23@kernel.org \
--cc=a.zummo@towertech.it \
--cc=alexandre.belloni@bootlin.com \
--cc=devicetree@vger.kernel.org \
--cc=kgene@kernel.org \
--cc=knaack.h@gmx.de \
--cc=krzk@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-rtc@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=pawel.mikolaj.chmiel@gmail.com \
--cc=pmeerw@pmeerw.net \
--cc=robh+dt@kernel.org \
--cc=sre@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).