From patchwork Wed Aug 11 08:43:05 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krzysztof Kozlowski X-Patchwork-Id: 12430423 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CDFA5C4338F for ; Wed, 11 Aug 2021 08:48:50 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7C9C9603E7 for ; Wed, 11 Aug 2021 08:48:50 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 7C9C9603E7 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=canonical.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To :From:Reply-To:Cc:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=/62Kg09XUwOxxtk2eJ0wpn+VbH91jtl0YIoZfuOgBxI=; b=NcDHbth0LwTtSR JenRQ3e0ZQ1hz3Bq/ev2USL9lEal46Tf3U5SOY6Zuns2aNOMKiUNl+dPdWVL9+65mPfHVZ16KIbFq EeNKxTtm97saXRks/s1HlrrZnt0aTpJf2f0kFDbZgbrztfe3aL4F17BvXXXxEUExsi6SAySGtJ+Ip pBfeUPWIipmYBT99YgW8XkTLN57zeom0MeZ0MQrSNZkn+hjPWULvk+IHgwMqHrdRKVJmOGVwFlSMO LP3efwe1qDfLctOY0aPnEplNkDn8Yb+uQ/2OxJyhGl11G12Vk9NOvTXydOV4wp/kGgu41ftBm0WKe 05qwPKEN9CoKLUEi9phQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mDjsG-0065js-Fu; Wed, 11 Aug 2021 08:46:09 +0000 Received: from smtp-relay-canonical-0.canonical.com ([185.125.188.120]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mDjqN-00653R-CB for linux-arm-kernel@lists.infradead.org; Wed, 11 Aug 2021 08:44:15 +0000 Received: from mail-ed1-f71.google.com (mail-ed1-f71.google.com [209.85.208.71]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-canonical-0.canonical.com (Postfix) with ESMTPS id 1C94040C80 for ; Wed, 11 Aug 2021 08:44:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1628671450; bh=cHr3JrzRS+V5545Psrh2+V69DTcS+sKTW5R2LFL9CLw=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=SLk/R97plKSEu77fb4u26MKbfWG7tNCCYBYurMTX7eWvorK2L7oa/kqhe90AMM9Zm novHuHoROWSm1plyWHmdXJ6azQL67pzFtsCo9l5dTpDr9I/E8cBbpriCbXFVqyoC+2 tN19NZqG8YLJ+yHGrEcNSCPuZQaT7y0kYooWURHVWpSncLoZlRRScKbJR2WnKI/qBb G58kkZGCZRIMwVqtrwHRh+jMnnokfL4AWrPYr+XYR+iLZGblr27IRjc/H0/yb/Ffz5 a21fjltl++IPfOAxynnHrDINvcOSY0vAlB3vNbyDrE/MDmtzUOjZFd+jGg2/ewkUMV 4x0FB1vF0SU7g== Received: by mail-ed1-f71.google.com with SMTP id cm18-20020a0564020c92b02903bc7f21d540so864030edb.13 for ; Wed, 11 Aug 2021 01:44:10 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=cHr3JrzRS+V5545Psrh2+V69DTcS+sKTW5R2LFL9CLw=; b=aXOfpal9ZgvzycFVbyvLQxy7CI5J4RcUx/+oTJ9mS5o5R5r/yU8akS/a7+A+nSe8tY BYu/IxZnlBLhBs3AfqLHS5MEaRuGfTVYHyOv/ACWPlMfHWd2ZE7GZ+CK/0Mh3iBgzG5Z OOiuk0twEgsxOrlRD2B/fn9CuijhsnA7r031sI0QLreFjMpjwGoy/qu+WS0Y+WlE+jXr sQMeoFEGfMmShy1z8hOojqtScSGjX4Msxajm83BleCdab/eqRtqm9JhXeCxz7MFg5XGY mr1F68cn8Weplf8MpGhwxczOvQHCnD/e8iNuTgERs9sqfetIkf35SW8cjatXuVUAo8H1 jVSA== X-Gm-Message-State: AOAM53139UuSBLLszUOs7Bh0dgqT+S7zGBABu0ewHj202hUzySeMKZRF a7C6Du2JuG8XEEL2wt7Q9HTFdKYoAPVmcRxd/rz8hyNCaiJOtXKM9+BKuFc643ujCaYXExNUU1N b8XpA9Z0AYZgRcMgRzT8Gm4Ud/pQPpYyYeB/x3KCDK+rAmcftJ1Ty X-Received: by 2002:a17:906:c252:: with SMTP id bl18mr2576140ejb.519.1628671449536; Wed, 11 Aug 2021 01:44:09 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyN0M005Kt6h3a02hccMdFKOXLA0/K49CFe+0FJWoFPEYNKvXyWwm92jayRVXcKDmy89NLWPA== X-Received: by 2002:a17:906:c252:: with SMTP id bl18mr2576125ejb.519.1628671449349; Wed, 11 Aug 2021 01:44:09 -0700 (PDT) Received: from localhost.localdomain ([86.32.42.198]) by smtp.gmail.com with ESMTPSA id kk14sm2429708ejc.29.2021.08.11.01.44.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Aug 2021 01:44:09 -0700 (PDT) From: Krzysztof Kozlowski To: Thomas Gleixner , Marc Zyngier , Rob Herring , Krzysztof Kozlowski , Matt Mackall , Herbert Xu , =?utf-8?q?=C5=81ukasz_Stelmach?= , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-crypto@vger.kernel.org Subject: [PATCH 1/2] dt-bindings: irqchip: convert Samsung Exynos IRQ combiner to dtschema Date: Wed, 11 Aug 2021 10:43:05 +0200 Message-Id: <20210811084306.28740-1-krzysztof.kozlowski@canonical.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210811_014411_604502_339F3F97 X-CRM114-Status: GOOD ( 24.90 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Convert Samsung Exynos SoC Interrupt Combiner Controller bindings to DT schema format using json-schema. Signed-off-by: Krzysztof Kozlowski --- .../samsung,exynos4210-combiner.txt | 50 ---------- .../samsung,exynos4210-combiner.yaml | 96 +++++++++++++++++++ 2 files changed, 96 insertions(+), 50 deletions(-) delete mode 100644 Documentation/devicetree/bindings/interrupt-controller/samsung,exynos4210-combiner.txt create mode 100644 Documentation/devicetree/bindings/interrupt-controller/samsung,exynos4210-combiner.yaml diff --git a/Documentation/devicetree/bindings/interrupt-controller/samsung,exynos4210-combiner.txt b/Documentation/devicetree/bindings/interrupt-controller/samsung,exynos4210-combiner.txt deleted file mode 100644 index 19af687858a1..000000000000 --- a/Documentation/devicetree/bindings/interrupt-controller/samsung,exynos4210-combiner.txt +++ /dev/null @@ -1,50 +0,0 @@ -* Samsung Exynos Interrupt Combiner Controller - -Samsung's Exynos4 architecture includes a interrupt combiner controller which -can combine interrupt sources as a group and provide a single interrupt request -for the group. The interrupt request from each group are connected to a parent -interrupt controller, such as GIC in case of Exynos4210. - -The interrupt combiner controller consists of multiple combiners. Up to eight -interrupt sources can be connected to a combiner. The combiner outputs one -combined interrupt for its eight interrupt sources. The combined interrupt -is usually connected to a parent interrupt controller. - -A single node in the device tree is used to describe the interrupt combiner -controller module (which includes multiple combiners). A combiner in the -interrupt controller module shares config/control registers with other -combiners. For example, a 32-bit interrupt enable/disable config register -can accommodate up to 4 interrupt combiners (with each combiner supporting -up to 8 interrupt sources). - -Required properties: -- compatible: should be "samsung,exynos4210-combiner". -- interrupt-controller: Identifies the node as an interrupt controller. -- #interrupt-cells: should be <2>. The meaning of the cells are - * First Cell: Combiner Group Number. - * Second Cell: Interrupt number within the group. -- reg: Base address and size of interrupt combiner registers. -- interrupts: The list of interrupts generated by the combiners which are then - connected to a parent interrupt controller. The format of the interrupt - specifier depends in the interrupt parent controller. - -Optional properties: -- samsung,combiner-nr: The number of interrupt combiners supported. If this - property is not specified, the default number of combiners is assumed - to be 16. - - -Example: - - The following is a an example from the Exynos4210 SoC dtsi file. - - combiner:interrupt-controller@10440000 { - compatible = "samsung,exynos4210-combiner"; - interrupt-controller; - #interrupt-cells = <2>; - reg = <0x10440000 0x1000>; - interrupts = <0 0 0>, <0 1 0>, <0 2 0>, <0 3 0>, - <0 4 0>, <0 5 0>, <0 6 0>, <0 7 0>, - <0 8 0>, <0 9 0>, <0 10 0>, <0 11 0>, - <0 12 0>, <0 13 0>, <0 14 0>, <0 15 0>; - }; diff --git a/Documentation/devicetree/bindings/interrupt-controller/samsung,exynos4210-combiner.yaml b/Documentation/devicetree/bindings/interrupt-controller/samsung,exynos4210-combiner.yaml new file mode 100644 index 000000000000..d631b7589d50 --- /dev/null +++ b/Documentation/devicetree/bindings/interrupt-controller/samsung,exynos4210-combiner.yaml @@ -0,0 +1,96 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/interrupt-controller/samsung,exynos4210-combiner.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Samsung Exynos SoC Interrupt Combiner Controller + +maintainers: + - Krzysztof Kozlowski + +description: | + Samsung's Exynos4 architecture includes a interrupt combiner controller which + can combine interrupt sources as a group and provide a single interrupt + request for the group. The interrupt request from each group are connected to + a parent interrupt controller, such as GIC in case of Exynos4210. + + The interrupt combiner controller consists of multiple combiners. Up to eight + interrupt sources can be connected to a combiner. The combiner outputs one + combined interrupt for its eight interrupt sources. The combined interrupt is + usually connected to a parent interrupt controller. + + A single node in the device tree is used to describe the interrupt combiner + controller module (which includes multiple combiners). A combiner in the + interrupt controller module shares config/control registers with other + combiners. For example, a 32-bit interrupt enable/disable config register can + accommodate up to 4 interrupt combiners (with each combiner supporting up to + 8 interrupt sources). + +allOf: + - $ref: /schemas/interrupt-controller.yaml# + +properties: + compatible: + const: samsung,exynos4210-combiner + + interrupt-controller: true + + interrupts: + minItems: 8 + maxItems: 32 + + "#interrupt-cells": + description: | + The meaning of the cells are: + * First Cell: Combiner Group Number. + * Second Cell: Interrupt number within the group. + const: 2 + + reg: + maxItems: 1 + + samsung,combiner-nr: + description: | + The number of interrupt combiners supported. Should match number + of interrupts set in "interrupts" property. + $ref: /schemas/types.yaml#/definitions/uint32 + minimum: 8 + maximum: 32 + default: 16 + +required: + - compatible + - interrupt-controller + - interrupts + - "#interrupt-cells" + - reg + +additionalProperties: false + +examples: + - | + #include + + interrupt-controller@10440000 { + compatible = "samsung,exynos4210-combiner"; + interrupt-controller; + #interrupt-cells = <2>; + reg = <0x10440000 0x1000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + };