Commit 3f11be83 authored by Linus Walleij's avatar Linus Walleij
Browse files

Merge branch 'ib-amlogic-a4' into devel



Merge immutable branch into devel for next.

Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parents fdcb3ff6 e300c9a4
Loading
Loading
Loading
Loading
+126 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pinctrl/amlogic,pinctrl-a4.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Amlogic pinmux controller

maintainers:
  - Xianwei Zhao <xianwei.zhao@amlogic.com>

allOf:
  - $ref: pinctrl.yaml#

properties:
  compatible:
    const: amlogic,pinctrl-a4

  "#address-cells":
    const: 2

  "#size-cells":
    const: 2

  ranges: true

patternProperties:
  "^gpio@[0-9a-f]+$":
    type: object

    additionalProperties: false
    properties:
      reg:
        minItems: 1
        items:
          - description: pin config register
          - description: pin mux setting register (some special pin fixed function)
          - description: pin drive strength register (optional)

      reg-names:
        minItems: 1
        items:
          - const: gpio
          - const: mux
          - const: ds

      gpio-controller: true

      "#gpio-cells":
        const: 2

      gpio-ranges:
        maxItems: 1

    required:
      - reg
      - reg-names
      - gpio-controller
      - "#gpio-cells"
      - gpio-ranges

  "^func-[0-9a-z-]+$":
    type: object
    additionalProperties: false
    patternProperties:
      "^group-[0-9a-z-]+$":
        type: object
        allOf:
          - $ref: /schemas/pinctrl/pincfg-node.yaml
          - $ref: /schemas/pinctrl/pinmux-node.yaml

        required:
          - pinmux

required:
  - compatible
  - "#address-cells"
  - "#size-cells"
  - ranges

additionalProperties: false

examples:
  - |
    #include <dt-bindings/pinctrl/amlogic,pinctrl.h>
    apb {
      #address-cells = <2>;
      #size-cells = <2>;
      periphs_pinctrl: pinctrl {
        compatible = "amlogic,pinctrl-a4";
        #address-cells = <2>;
        #size-cells = <2>;
        ranges;

        gpio@4240 {
          reg = <0 0x4240 0 0x40>, <0 0x4000 0 0x8>;
          reg-names = "gpio", "mux";
          gpio-controller;
          #gpio-cells = <2>;
          gpio-ranges = <&periphs_pinctrl 0 8 10>;
        };

        func-uart-b {
          group-default {
            pinmux = <AML_PINMUX(AMLOGIC_GPIO_B, 1, 4)>;
            bias-pull-up;
            drive-strength-microamp = <4000>;
          };

          group-pins1 {
            pinmux = <AML_PINMUX(AMLOGIC_GPIO_B, 5, 2)>;
            bias-pull-up;
            drive-strength-microamp = <4000>;
          };
        };

        func-uart-c {
          group-default {
            pinmux = <AML_PINMUX(AMLOGIC_GPIO_B, 3, 1)>,
                     <AML_PINMUX(AMLOGIC_GPIO_B, 2, 1)>;
            bias-pull-up;
            drive-strength-microamp = <4000>;
          };
        };
      };
    };
+8 −0
Original line number Diff line number Diff line
@@ -1250,6 +1250,14 @@ F: Documentation/devicetree/bindings/perf/amlogic,g12-ddr-pmu.yaml
F:	drivers/perf/amlogic/
F:	include/soc/amlogic/
AMLOGIC PINCTRL DRIVER
M:	Xianwei Zhao <xianwei.zhao@amlogic.com>
L:	linux-amlogic@lists.infradead.org
L:	linux-gpio@vger.kernel.org
S:	Maintained
F:	Documentation/devicetree/bindings/pinctrl/amlogic,pinctrl-a4.yaml
F:	drivers/pinctrl/meson/pinctrl-amlogic-a4.c
AMLOGIC RTC DRIVER
M:	Yiting Deng <yiting.deng@amlogic.com>
M:	Xianwei Zhao <xianwei.zhao@amlogic.com>
+11 −0
Original line number Diff line number Diff line
@@ -67,6 +67,17 @@ config PINCTRL_MESON_S4
	select PINCTRL_MESON_AXG_PMX
	default y

config PINCTRL_AMLOGIC_A4
	bool "AMLOGIC pincontrol"
	depends on ARM64
	default y
	help
	  This is the driver for the pin controller found on Amlogic SoCs.

	  This driver is simplify subsequent support for new amlogic SoCs,
	  to support new Amlogic SoCs, only need to add the corresponding dts file,
	  no additional binding header files or C file are added.

config PINCTRL_AMLOGIC_C3
	tristate "Amlogic C3 SoC pinctrl driver"
	depends on ARM64
+1 −0
Original line number Diff line number Diff line
@@ -10,5 +10,6 @@ obj-$(CONFIG_PINCTRL_MESON_AXG) += pinctrl-meson-axg.o
obj-$(CONFIG_PINCTRL_MESON_G12A) += pinctrl-meson-g12a.o
obj-$(CONFIG_PINCTRL_MESON_A1) += pinctrl-meson-a1.o
obj-$(CONFIG_PINCTRL_MESON_S4) += pinctrl-meson-s4.o
obj-$(CONFIG_PINCTRL_AMLOGIC_A4) += pinctrl-amlogic-a4.o
obj-$(CONFIG_PINCTRL_AMLOGIC_C3) += pinctrl-amlogic-c3.o
obj-$(CONFIG_PINCTRL_AMLOGIC_T7) += pinctrl-amlogic-t7.o
+1053 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading