Commit a8b10f3d authored by Prathamesh Shete's avatar Prathamesh Shete Committed by Bartosz Golaszewski
Browse files

dt-bindings: gpio: Add Tegra234 support



Extend the existing Tegra186 GPIO controller device tree bindings with
support for the GPIO controller found on Tegra234. The number of pins is
slightly different, but the programming model remains the same.

Signed-off-by: default avatarPrathamesh Shete <pshete@nvidia.com>
Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
[treding@nvidia.com: update device tree bindings]
Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
Signed-off-by: default avatarBartosz Golaszewski <brgl@bgdev.pl>
parent 7501815f
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -83,6 +83,8 @@ properties:
      - nvidia,tegra186-gpio-aon
      - nvidia,tegra194-gpio
      - nvidia,tegra194-gpio-aon
      - nvidia,tegra234-gpio
      - nvidia,tegra234-gpio-aon

  reg-names:
    items:
@@ -149,6 +151,7 @@ allOf:
            enum:
              - nvidia,tegra186-gpio
              - nvidia,tegra194-gpio
              - nvidia,tegra234-gpio
    then:
      properties:
        interrupts:
@@ -162,6 +165,7 @@ allOf:
            enum:
              - nvidia,tegra186-gpio-aon
              - nvidia,tegra194-gpio-aon
              - nvidia,tegra234-gpio-aon
    then:
      properties:
        interrupts:
+63 −0
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0 */
/* Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved. */

/*
 * This header provides constants for binding nvidia,tegra234-gpio*.
 *
 * The first cell in Tegra's GPIO specifier is the GPIO ID. The macros below
 * provide names for this.
 *
 * The second cell contains standard flag values specified in gpio.h.
 */

#ifndef _DT_BINDINGS_GPIO_TEGRA234_GPIO_H
#define _DT_BINDINGS_GPIO_TEGRA234_GPIO_H

#include <dt-bindings/gpio/gpio.h>

/* GPIOs implemented by main GPIO controller */
#define TEGRA234_MAIN_GPIO_PORT_A   0
#define TEGRA234_MAIN_GPIO_PORT_B   1
#define TEGRA234_MAIN_GPIO_PORT_C   2
#define TEGRA234_MAIN_GPIO_PORT_D   3
#define TEGRA234_MAIN_GPIO_PORT_E   4
#define TEGRA234_MAIN_GPIO_PORT_F   5
#define TEGRA234_MAIN_GPIO_PORT_G   6
#define TEGRA234_MAIN_GPIO_PORT_H   7
#define TEGRA234_MAIN_GPIO_PORT_I   8
#define TEGRA234_MAIN_GPIO_PORT_J   9
#define TEGRA234_MAIN_GPIO_PORT_K  10
#define TEGRA234_MAIN_GPIO_PORT_L  11
#define TEGRA234_MAIN_GPIO_PORT_M  12
#define TEGRA234_MAIN_GPIO_PORT_N  13
#define TEGRA234_MAIN_GPIO_PORT_P  14
#define TEGRA234_MAIN_GPIO_PORT_Q  15
#define TEGRA234_MAIN_GPIO_PORT_R  16
#define TEGRA234_MAIN_GPIO_PORT_S  17
#define TEGRA234_MAIN_GPIO_PORT_T  18
#define TEGRA234_MAIN_GPIO_PORT_U  19
#define TEGRA234_MAIN_GPIO_PORT_V  20
#define TEGRA234_MAIN_GPIO_PORT_X  21
#define TEGRA234_MAIN_GPIO_PORT_Y  22
#define TEGRA234_MAIN_GPIO_PORT_Z  23
#define TEGRA234_MAIN_GPIO_PORT_AC 24
#define TEGRA234_MAIN_GPIO_PORT_AD 25
#define TEGRA234_MAIN_GPIO_PORT_AE 26
#define TEGRA234_MAIN_GPIO_PORT_AF 27
#define TEGRA234_MAIN_GPIO_PORT_AG 28

#define TEGRA234_MAIN_GPIO(port, offset) \
	((TEGRA234_MAIN_GPIO_PORT_##port * 8) + offset)

/* GPIOs implemented by AON GPIO controller */
#define TEGRA234_AON_GPIO_PORT_AA 0
#define TEGRA234_AON_GPIO_PORT_BB 1
#define TEGRA234_AON_GPIO_PORT_CC 2
#define TEGRA234_AON_GPIO_PORT_DD 3
#define TEGRA234_AON_GPIO_PORT_EE 4
#define TEGRA234_AON_GPIO_PORT_GG 5

#define TEGRA234_AON_GPIO(port, offset) \
	((TEGRA234_AON_GPIO_PORT_##port * 8) + offset)

#endif