1*aee81445SMathieu Dubois-Briand# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*aee81445SMathieu Dubois-Briand%YAML 1.2 3*aee81445SMathieu Dubois-Briand--- 4*aee81445SMathieu Dubois-Briand$id: http://devicetree.org/schemas/gpio/maxim,max7360-gpio.yaml# 5*aee81445SMathieu Dubois-Briand$schema: http://devicetree.org/meta-schemas/core.yaml# 6*aee81445SMathieu Dubois-Briand 7*aee81445SMathieu Dubois-Briandtitle: Maxim MAX7360 GPIO controller 8*aee81445SMathieu Dubois-Briand 9*aee81445SMathieu Dubois-Briandmaintainers: 10*aee81445SMathieu Dubois-Briand - Kamel Bouhara <kamel.bouhara@bootlin.com> 11*aee81445SMathieu Dubois-Briand - Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> 12*aee81445SMathieu Dubois-Briand 13*aee81445SMathieu Dubois-Brianddescription: | 14*aee81445SMathieu Dubois-Briand Maxim MAX7360 GPIO controller, in MAX7360 chipset 15*aee81445SMathieu Dubois-Briand https://www.analog.com/en/products/max7360.html 16*aee81445SMathieu Dubois-Briand 17*aee81445SMathieu Dubois-Briand The device provides two series of GPIOs, referred here as GPIOs and GPOs. 18*aee81445SMathieu Dubois-Briand 19*aee81445SMathieu Dubois-Briand PORT0 to PORT7 pins can be used as GPIOs, with support for interrupts and 20*aee81445SMathieu Dubois-Briand constant-current mode. These pins will also be used by the rotary encoder and 21*aee81445SMathieu Dubois-Briand PWM functionalities. 22*aee81445SMathieu Dubois-Briand 23*aee81445SMathieu Dubois-Briand COL2 to COL7 pins can be used as GPOs, there is no input capability. COL pins 24*aee81445SMathieu Dubois-Briand will be partitioned, with the first pins being affected to the keypad 25*aee81445SMathieu Dubois-Briand functionality and the last ones as GPOs. 26*aee81445SMathieu Dubois-Briand 27*aee81445SMathieu Dubois-Briandproperties: 28*aee81445SMathieu Dubois-Briand compatible: 29*aee81445SMathieu Dubois-Briand enum: 30*aee81445SMathieu Dubois-Briand - maxim,max7360-gpio 31*aee81445SMathieu Dubois-Briand - maxim,max7360-gpo 32*aee81445SMathieu Dubois-Briand 33*aee81445SMathieu Dubois-Briand gpio-controller: true 34*aee81445SMathieu Dubois-Briand 35*aee81445SMathieu Dubois-Briand "#gpio-cells": 36*aee81445SMathieu Dubois-Briand const: 2 37*aee81445SMathieu Dubois-Briand 38*aee81445SMathieu Dubois-Briand interrupt-controller: true 39*aee81445SMathieu Dubois-Briand 40*aee81445SMathieu Dubois-Briand "#interrupt-cells": 41*aee81445SMathieu Dubois-Briand const: 2 42*aee81445SMathieu Dubois-Briand 43*aee81445SMathieu Dubois-Briand maxim,constant-current-disable: 44*aee81445SMathieu Dubois-Briand $ref: /schemas/types.yaml#/definitions/uint32 45*aee81445SMathieu Dubois-Briand description: 46*aee81445SMathieu Dubois-Briand Bit field, each bit disables constant-current output of the associated 47*aee81445SMathieu Dubois-Briand GPIO, starting from the least significant bit for the first GPIO. 48*aee81445SMathieu Dubois-Briand maximum: 0xff 49*aee81445SMathieu Dubois-Briand 50*aee81445SMathieu Dubois-Briandrequired: 51*aee81445SMathieu Dubois-Briand - compatible 52*aee81445SMathieu Dubois-Briand - gpio-controller 53*aee81445SMathieu Dubois-Briand 54*aee81445SMathieu Dubois-BriandallOf: 55*aee81445SMathieu Dubois-Briand - if: 56*aee81445SMathieu Dubois-Briand properties: 57*aee81445SMathieu Dubois-Briand compatible: 58*aee81445SMathieu Dubois-Briand contains: 59*aee81445SMathieu Dubois-Briand enum: 60*aee81445SMathieu Dubois-Briand - maxim,max7360-gpio 61*aee81445SMathieu Dubois-Briand ngpios: false 62*aee81445SMathieu Dubois-Briand then: 63*aee81445SMathieu Dubois-Briand required: 64*aee81445SMathieu Dubois-Briand - interrupt-controller 65*aee81445SMathieu Dubois-Briand else: 66*aee81445SMathieu Dubois-Briand properties: 67*aee81445SMathieu Dubois-Briand interrupt-controller: false 68*aee81445SMathieu Dubois-Briand maxim,constant-current-disable: false 69*aee81445SMathieu Dubois-Briand 70*aee81445SMathieu Dubois-BriandadditionalProperties: false 71*aee81445SMathieu Dubois-Briand 72*aee81445SMathieu Dubois-Briandexamples: 73*aee81445SMathieu Dubois-Briand - | 74*aee81445SMathieu Dubois-Briand gpio { 75*aee81445SMathieu Dubois-Briand compatible = "maxim,max7360-gpio"; 76*aee81445SMathieu Dubois-Briand 77*aee81445SMathieu Dubois-Briand gpio-controller; 78*aee81445SMathieu Dubois-Briand #gpio-cells = <2>; 79*aee81445SMathieu Dubois-Briand maxim,constant-current-disable = <0x06>; 80*aee81445SMathieu Dubois-Briand 81*aee81445SMathieu Dubois-Briand interrupt-controller; 82*aee81445SMathieu Dubois-Briand #interrupt-cells = <2>; 83*aee81445SMathieu Dubois-Briand }; 84