From: Long Zhao <longzhao@ambarella.com>
To: Arnd Bergmann <arnd@arndb.de>,
Alexandre Belloni <alexandre.belloni@bootlin.com>,
<linux-arm-kernel@lists.infradead.org>, <soc@lists.linux.dev>
Cc: Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>, <devicetree@vger.kernel.org>,
"Michael Turquette" <mturquette@baylibre.com>,
Stephen Boyd <sboyd@kernel.org>, <linux-clk@vger.kernel.org>,
Linus Walleij <linusw@kernel.org>, <linux-gpio@vger.kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jiri Slaby <jirislaby@kernel.org>, <linux-serial@vger.kernel.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>, <linux-kernel@vger.kernel.org>,
Long Zhao <longzhao@ambarella.com>
Subject: [PATCH 04/10] dt-bindings: pinctrl: add Ambarella CV75 pinctrl
Date: Thu, 30 Jul 2026 18:43:24 +0800 [thread overview]
Message-ID: <20260730104330.81367-5-longzhao@ambarella.com> (raw)
In-Reply-To: <20260730104330.81367-1-longzhao@ambarella.com>
Add the CV75 pin controller binding and pinmux ID header.
Signed-off-by: Long Zhao <longzhao@ambarella.com>
---
.../pinctrl/ambarella,cv75-pinctrl.yaml | 167 ++++++++++++++++++
.../dt-bindings/pinctrl/ambarella,pinctrl.h | 11 ++
2 files changed, 178 insertions(+)
create mode 100644 Documentation/devicetree/bindings/pinctrl/ambarella,cv75-pinctrl.yaml
create mode 100644 include/dt-bindings/pinctrl/ambarella,pinctrl.h
diff --git a/Documentation/devicetree/bindings/pinctrl/ambarella,cv75-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/ambarella,cv75-pinctrl.yaml
new file mode 100644
index 000000000000..8a331c642fad
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/ambarella,cv75-pinctrl.yaml
@@ -0,0 +1,167 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/pinctrl/ambarella,cv75-pinctrl.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Ambarella CV75 Pin Controller
+
+maintainers:
+ - Long Zhao <longzhao@ambarella.com>
+
+description:
+ The Ambarella CV75 pin controller configures pin multiplexing, bias and
+ drive strength for the main GPIO banks. Pin multiplexing entries encode
+ the pin number and alternate function with the AMBA_PINMUX() macro from
+ dt-bindings/pinctrl/ambarella,pinctrl.h.
+
+allOf:
+ - $ref: pinctrl.yaml#
+
+properties:
+ compatible:
+ const: ambarella,cv75-pinctrl
+
+ reg:
+ items:
+ - description: GPIO bank 0 registers
+ - description: GPIO bank 1 registers
+ - description: GPIO bank 2 registers
+ - description: IOMUX registers
+
+ reg-names:
+ items:
+ - const: gpio0
+ - const: gpio1
+ - const: gpio2
+ - const: iomux
+
+ interrupts:
+ items:
+ - description: GPIO bank 0 interrupt
+ - description: GPIO bank 1 interrupt
+ - description: GPIO bank 2 interrupt
+
+ ambarella,drive-strength-syscon:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description: RCT syscon containing the drive-strength registers.
+
+ ambarella,pull-syscon:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description: Secure scratchpad syscon containing the pull registers.
+
+ "#address-cells":
+ const: 1
+
+ "#size-cells":
+ const: 0
+
+patternProperties:
+ "^gpio@[0-9a-f]+$":
+ type: object
+ additionalProperties: false
+
+ properties:
+ reg:
+ maxItems: 1
+
+ gpio-controller: true
+
+ "#gpio-cells":
+ const: 2
+
+ gpio-ranges:
+ maxItems: 1
+
+ interrupt-controller: true
+
+ "#interrupt-cells":
+ const: 2
+
+ required:
+ - reg
+ - gpio-controller
+ - "#gpio-cells"
+ - gpio-ranges
+ - interrupt-controller
+ - "#interrupt-cells"
+
+ "^[a-z0-9-]+-pins$":
+ type: object
+ allOf:
+ - $ref: pinmux-node.yaml#
+ - $ref: pincfg-node.yaml#
+ additionalProperties: false
+
+ properties:
+ function: true
+
+ pinmux:
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ minItems: 1
+ maxItems: 96
+
+ bias-disable: true
+ bias-pull-down: true
+ bias-pull-up: true
+
+ drive-strength:
+ enum: [3, 4, 5, 6, 7, 8, 9, 12]
+
+ required:
+ - function
+ - pinmux
+
+required:
+ - compatible
+ - reg
+ - reg-names
+ - interrupts
+ - ambarella,drive-strength-syscon
+ - ambarella,pull-syscon
+ - "#address-cells"
+ - "#size-cells"
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/pinctrl/ambarella,pinctrl.h>
+
+ rct: rct {
+ };
+
+ scratchpad: scratchpad {
+ };
+
+ pinctrl: pinctrl@e4013000 {
+ compatible = "ambarella,cv75-pinctrl";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0xe4013000 0x1000>, <0xe4014000 0x1000>,
+ <0xe4015000 0x1000>, <0xe4010000 0x1000>;
+ reg-names = "gpio0", "gpio1", "gpio2", "iomux";
+ interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
+ ambarella,drive-strength-syscon = <&rct>;
+ ambarella,pull-syscon = <&scratchpad>;
+
+ gpio: gpio@0 {
+ reg = <0>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl 0 0 95>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+
+ uart0-pins {
+ function = "uart0";
+ pinmux = <AMBA_PINMUX(44, 1)>,
+ <AMBA_PINMUX(45, 1)>;
+ bias-disable;
+ drive-strength = <8>;
+ };
+ };
diff --git a/include/dt-bindings/pinctrl/ambarella,pinctrl.h b/include/dt-bindings/pinctrl/ambarella,pinctrl.h
new file mode 100644
index 000000000000..20463d5acc66
--- /dev/null
+++ b/include/dt-bindings/pinctrl/ambarella,pinctrl.h
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */
+/*
+ * Copyright (C) 2026 Ambarella, Inc.
+ */
+
+#ifndef _DT_BINDINGS_PINCTRL_AMBARELLA_PINCTRL_H
+#define _DT_BINDINGS_PINCTRL_AMBARELLA_PINCTRL_H
+
+#define AMBA_PINMUX(pin, mux) (((mux) << 12) | (pin))
+
+#endif
--
2.34.1
NOTE: This email (including attachments) contain Ambarella Proprietary and/or Confidential Information and is intended solely for the use of the individual(s) to whom it is addressed. Any unauthorized review, use, disclosure, distribute, copy, or print is prohibited. If you are not an intended recipient, please contact the sender by reply email and destroy all copies of the original message. Thank you.
next prev parent reply other threads:[~2026-07-30 11:06 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-30 10:43 [PATCH 00/10] Ambarella CV75 SoC minimal bring-up Long Zhao
2026-07-30 10:43 ` [PATCH 01/10] dt-bindings: arm: add Ambarella CV75 platforms Long Zhao
2026-07-30 10:43 ` [PATCH 02/10] dt-bindings: soc: add Ambarella secure scratchpad Long Zhao
2026-07-30 10:43 ` [PATCH 03/10] dt-bindings: clock: add Ambarella CV75 RCT clock controller Long Zhao
2026-07-30 12:42 ` Rob Herring (Arm)
2026-07-30 14:11 ` Rob Herring
2026-07-30 10:43 ` Long Zhao [this message]
2026-07-30 12:42 ` [PATCH 04/10] dt-bindings: pinctrl: add Ambarella CV75 pinctrl Rob Herring (Arm)
2026-07-30 14:21 ` Rob Herring
2026-07-30 10:43 ` [PATCH 05/10] dt-bindings: serial: add Ambarella UART Long Zhao
2026-07-30 10:49 ` Krzysztof Kozlowski
2026-07-30 10:43 ` [PATCH 06/10] clk: ambarella: add CV75 CCU driver Long Zhao
2026-07-30 10:43 ` [PATCH 07/10] pinctrl: ambarella: add Ambarella pin controller Long Zhao
2026-07-30 10:43 ` [PATCH 08/10] serial: ambarella: add Ambarella UART driver Long Zhao
2026-07-30 10:54 ` Greg Kroah-Hartman
2026-07-30 10:43 ` [PATCH 09/10] arm64: ambarella: add ARCH_AMBARELLA and CV75 EVK DT Long Zhao
2026-07-30 12:18 ` Marc Zyngier
2026-07-30 10:43 ` [PATCH 10/10] MAINTAINERS: add ARM/AMBARELLA SoC support Long Zhao
2026-07-30 10:48 ` [PATCH 00/10] Ambarella CV75 SoC minimal bring-up Krzysztof Kozlowski
2026-07-30 11:05 ` [EXT] " Long Zhao
2026-07-30 11:56 ` Alexandre Belloni
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=20260730104330.81367-5-longzhao@ambarella.com \
--to=longzhao@ambarella.com \
--cc=alexandre.belloni@bootlin.com \
--cc=arnd@arndb.de \
--cc=catalin.marinas@arm.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=jirislaby@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linusw@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=mturquette@baylibre.com \
--cc=robh@kernel.org \
--cc=sboyd@kernel.org \
--cc=soc@lists.linux.dev \
--cc=will@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