Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) %YAML 1.2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) ---
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) $id: http://devicetree.org/schemas/gpio/gpio-pca95xx.yaml#
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) $schema: http://devicetree.org/meta-schemas/core.yaml#
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) title: NXP PCA95xx I2C GPIO multiplexer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) maintainers:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10)   - Krzysztof Kozlowski <krzk@kernel.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) description: |+
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13)   Bindings for the family of I2C GPIO multiplexers/expanders: NXP PCA95xx,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14)   Maxim MAX73xx
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17)   compatible:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18)     enum:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19)       - exar,xra1202
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20)       - maxim,max7310
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21)       - maxim,max7312
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22)       - maxim,max7313
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23)       - maxim,max7315
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24)       - maxim,max7319
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25)       - maxim,max7320
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26)       - maxim,max7321
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27)       - maxim,max7322
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28)       - maxim,max7323
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29)       - maxim,max7324
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30)       - maxim,max7325
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31)       - maxim,max7326
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32)       - maxim,max7327
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33)       - nxp,pca6416
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34)       - nxp,pca9505
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35)       - nxp,pca9534
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36)       - nxp,pca9535
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37)       - nxp,pca9536
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38)       - nxp,pca9537
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39)       - nxp,pca9538
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40)       - nxp,pca9539
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41)       - nxp,pca9554
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42)       - nxp,pca9555
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43)       - nxp,pca9556
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44)       - nxp,pca9557
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45)       - nxp,pca9574
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46)       - nxp,pca9575
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47)       - nxp,pca9698
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48)       - nxp,pcal6416
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49)       - nxp,pcal6524
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50)       - nxp,pcal9535
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51)       - nxp,pcal9555a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52)       - onnn,cat9554
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53)       - onnn,pca9654
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54)       - ti,pca6107
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55)       - ti,pca9536
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56)       - ti,tca6408
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57)       - ti,tca6416
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58)       - ti,tca6424
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59)       - ti,tca9539
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60)       - ti,tca9554
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62)   reg:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63)     maxItems: 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65)   gpio-controller: true
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67)   '#gpio-cells':
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68)     const: 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70)   gpio-line-names:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71)     minItems: 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72)     maxItems: 32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74)   interrupts:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75)     maxItems: 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77)   interrupt-controller: true
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79)   '#interrupt-cells':
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80)     const: 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82)   reset-gpios:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83)     description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84)       GPIO specification for the RESET input. This is an active low signal to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85)       the PCA953x.  Not valid for Maxim MAX732x devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87)   vcc-supply:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88)     description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89)       Optional power supply.  Not valid for Maxim MAX732x devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91)   wakeup-source:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92)     $ref: /schemas/types.yaml#/definitions/flag
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) patternProperties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95)   "^(hog-[0-9]+|.+-hog(-[0-9]+)?)$":
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96)     type: object
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97)     properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98)       gpio-hog: true
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99)       gpios: true
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100)       input: true
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101)       output-high: true
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102)       output-low: true
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103)       line-name: true
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105)     required:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106)       - gpio-hog
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107)       - gpios
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109)     additionalProperties: false
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) required:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112)   - compatible
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113)   - reg
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114)   - gpio-controller
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115)   - "#gpio-cells"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) additionalProperties: false
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) allOf:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120)   - if:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121)       properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122)         compatible:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123)           contains:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124)             enum:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125)               - maxim,max7320
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126)               - maxim,max7321
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127)               - maxim,max7322
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128)               - maxim,max7323
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129)               - maxim,max7324
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130)               - maxim,max7325
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131)               - maxim,max7326
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132)               - maxim,max7327
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133)     then:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134)       properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135)         reset-gpios: false
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136)         vcc-supply: false
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) examples:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139)   - |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140)     #include <dt-bindings/gpio/gpio.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141)     #include <dt-bindings/interrupt-controller/irq.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143)     i2c0 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144)         #address-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145)         #size-cells = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147)         gpio@20 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148)             compatible = "nxp,pca9505";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149)             reg = <0x20>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150)             pinctrl-names = "default";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151)             pinctrl-0 = <&pinctrl_pca9505>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152)             gpio-controller;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153)             #gpio-cells = <2>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154)             interrupt-parent = <&gpio3>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155)             interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157)             usb3-sata-sel-hog {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158)                 gpio-hog;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159)                 gpios = <4 GPIO_ACTIVE_HIGH>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160)                 output-low;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161)                 line-name = "usb3_sata_sel";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162)             };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163)         };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164)     };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166)   - |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167)     #include <dt-bindings/interrupt-controller/irq.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169)     i2c1 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170)         #address-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171)         #size-cells = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173)         gpio99: gpio@22 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174)             compatible = "nxp,pcal6524";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175)             reg = <0x22>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176)             interrupt-parent = <&gpio6>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177)             interrupts = <1 IRQ_TYPE_EDGE_FALLING>; /* gpio6_161 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178)             interrupt-controller;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179)             #interrupt-cells = <2>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180)             vcc-supply = <&vdds_1v8_main>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181)             gpio-controller;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182)             #gpio-cells = <2>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183)             gpio-line-names = "hdmi-ct-hpd", "hdmi.ls-oe", "p02", "p03",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184)                               "vibra", "fault2", "p06", "p07", "en-usb",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185)                               "en-host1", "en-host2", "chg-int", "p14", "p15",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186)                               "mic-int", "en-modem", "shdn-hs-amp",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187)                               "chg-status+red", "green", "blue", "en-esata",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188)                               "fault1", "p26", "p27";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189)         };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191)         ts3a227@3b {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192)             compatible = "ti,ts3a227e";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193)             reg = <0x3b>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194)             interrupt-parent = <&gpio99>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195)             interrupts = <14 IRQ_TYPE_EDGE_RISING>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196)             ti,micbias = <0>; /* 2.1V */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197)         };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198)     };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200)   - |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201)     #include <dt-bindings/interrupt-controller/irq.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203)     i2c2 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204)         #address-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205)         #size-cells = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207)         /* MAX7325 with interrupt support enabled */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208)         gpio@6d {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209)             compatible = "maxim,max7325";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210)             reg = <0x6d>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211)             gpio-controller;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212)             #gpio-cells = <2>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213)             interrupt-controller;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214)             #interrupt-cells = <2>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215)             interrupt-parent = <&gpio4>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216)             interrupts = <29 IRQ_TYPE_EDGE_FALLING>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217)         };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218)     };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220)   - |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221)     i2c3 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222)         #address-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223)         #size-cells = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225)         /* MAX7325 with interrupt support disabled */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226)         gpio@6e {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227)             compatible = "maxim,max7325";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228)             reg = <0x6e>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229)             gpio-controller;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230)             #gpio-cells = <2>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231)         };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232)     };