1*01950c46SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*01950c46SEmmanuel Vadot%YAML 1.2 3*01950c46SEmmanuel Vadot--- 4*01950c46SEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/mobileye,eyeq5-pinctrl.yaml# 5*01950c46SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*01950c46SEmmanuel Vadot 7*01950c46SEmmanuel Vadottitle: Mobileye EyeQ5 pin controller 8*01950c46SEmmanuel Vadot 9*01950c46SEmmanuel Vadotdescription: > 10*01950c46SEmmanuel Vadot The EyeQ5 pin controller handles the two pin banks of the system. It belongs 11*01950c46SEmmanuel Vadot to a system-controller block called OLB. 12*01950c46SEmmanuel Vadot 13*01950c46SEmmanuel Vadot Pin control is about bias (pull-down, pull-up), drive strength and muxing. Pin 14*01950c46SEmmanuel Vadot muxing supports two functions for each pin: first is GPIO, second is 15*01950c46SEmmanuel Vadot pin-dependent. 16*01950c46SEmmanuel Vadot 17*01950c46SEmmanuel Vadot Pins and groups are bijective. 18*01950c46SEmmanuel Vadot 19*01950c46SEmmanuel Vadotmaintainers: 20*01950c46SEmmanuel Vadot - Grégory Clement <gregory.clement@bootlin.com> 21*01950c46SEmmanuel Vadot - Théo Lebrun <theo.lebrun@bootlin.com> 22*01950c46SEmmanuel Vadot - Vladimir Kondratiev <vladimir.kondratiev@mobileye.com> 23*01950c46SEmmanuel Vadot 24*01950c46SEmmanuel Vadot$ref: pinctrl.yaml# 25*01950c46SEmmanuel Vadot 26*01950c46SEmmanuel Vadotproperties: 27*01950c46SEmmanuel Vadot compatible: 28*01950c46SEmmanuel Vadot enum: 29*01950c46SEmmanuel Vadot - mobileye,eyeq5-pinctrl 30*01950c46SEmmanuel Vadot 31*01950c46SEmmanuel Vadot reg: 32*01950c46SEmmanuel Vadot maxItems: 1 33*01950c46SEmmanuel Vadot 34*01950c46SEmmanuel VadotpatternProperties: 35*01950c46SEmmanuel Vadot "-pins?$": 36*01950c46SEmmanuel Vadot type: object 37*01950c46SEmmanuel Vadot description: Pin muxing configuration. 38*01950c46SEmmanuel Vadot $ref: pinmux-node.yaml# 39*01950c46SEmmanuel Vadot additionalProperties: false 40*01950c46SEmmanuel Vadot properties: 41*01950c46SEmmanuel Vadot pins: true 42*01950c46SEmmanuel Vadot function: 43*01950c46SEmmanuel Vadot enum: [gpio, 44*01950c46SEmmanuel Vadot # Bank A 45*01950c46SEmmanuel Vadot timer0, timer1, timer2, timer5, uart0, uart1, can0, can1, spi0, 46*01950c46SEmmanuel Vadot spi1, refclk0, 47*01950c46SEmmanuel Vadot # Bank B 48*01950c46SEmmanuel Vadot timer3, timer4, timer6, uart2, can2, spi2, spi3, mclk0] 49*01950c46SEmmanuel Vadot bias-disable: true 50*01950c46SEmmanuel Vadot bias-pull-down: true 51*01950c46SEmmanuel Vadot bias-pull-up: true 52*01950c46SEmmanuel Vadot drive-strength: true 53*01950c46SEmmanuel Vadot required: 54*01950c46SEmmanuel Vadot - pins 55*01950c46SEmmanuel Vadot - function 56*01950c46SEmmanuel Vadot allOf: 57*01950c46SEmmanuel Vadot - if: 58*01950c46SEmmanuel Vadot properties: 59*01950c46SEmmanuel Vadot function: 60*01950c46SEmmanuel Vadot const: gpio 61*01950c46SEmmanuel Vadot then: 62*01950c46SEmmanuel Vadot properties: 63*01950c46SEmmanuel Vadot pins: 64*01950c46SEmmanuel Vadot items: # PA0 - PA28, PB0 - PB22 65*01950c46SEmmanuel Vadot pattern: '^(P(A|B)1?[0-9]|PA2[0-8]|PB2[0-2])$' 66*01950c46SEmmanuel Vadot - if: 67*01950c46SEmmanuel Vadot properties: 68*01950c46SEmmanuel Vadot function: 69*01950c46SEmmanuel Vadot const: timer0 70*01950c46SEmmanuel Vadot then: 71*01950c46SEmmanuel Vadot properties: 72*01950c46SEmmanuel Vadot pins: 73*01950c46SEmmanuel Vadot items: 74*01950c46SEmmanuel Vadot enum: [PA0, PA1] 75*01950c46SEmmanuel Vadot - if: 76*01950c46SEmmanuel Vadot properties: 77*01950c46SEmmanuel Vadot function: 78*01950c46SEmmanuel Vadot const: timer1 79*01950c46SEmmanuel Vadot then: 80*01950c46SEmmanuel Vadot properties: 81*01950c46SEmmanuel Vadot pins: 82*01950c46SEmmanuel Vadot items: 83*01950c46SEmmanuel Vadot enum: [PA2, PA3] 84*01950c46SEmmanuel Vadot - if: 85*01950c46SEmmanuel Vadot properties: 86*01950c46SEmmanuel Vadot function: 87*01950c46SEmmanuel Vadot const: timer2 88*01950c46SEmmanuel Vadot then: 89*01950c46SEmmanuel Vadot properties: 90*01950c46SEmmanuel Vadot pins: 91*01950c46SEmmanuel Vadot items: 92*01950c46SEmmanuel Vadot enum: [PA4, PA5] 93*01950c46SEmmanuel Vadot - if: 94*01950c46SEmmanuel Vadot properties: 95*01950c46SEmmanuel Vadot function: 96*01950c46SEmmanuel Vadot const: timer5 97*01950c46SEmmanuel Vadot then: 98*01950c46SEmmanuel Vadot properties: 99*01950c46SEmmanuel Vadot pins: 100*01950c46SEmmanuel Vadot items: 101*01950c46SEmmanuel Vadot enum: [PA6, PA7, PA8, PA9] 102*01950c46SEmmanuel Vadot - if: 103*01950c46SEmmanuel Vadot properties: 104*01950c46SEmmanuel Vadot function: 105*01950c46SEmmanuel Vadot const: uart0 106*01950c46SEmmanuel Vadot then: 107*01950c46SEmmanuel Vadot properties: 108*01950c46SEmmanuel Vadot pins: 109*01950c46SEmmanuel Vadot items: 110*01950c46SEmmanuel Vadot enum: [PA10, PA11] 111*01950c46SEmmanuel Vadot - if: 112*01950c46SEmmanuel Vadot properties: 113*01950c46SEmmanuel Vadot function: 114*01950c46SEmmanuel Vadot const: uart1 115*01950c46SEmmanuel Vadot then: 116*01950c46SEmmanuel Vadot properties: 117*01950c46SEmmanuel Vadot pins: 118*01950c46SEmmanuel Vadot items: 119*01950c46SEmmanuel Vadot enum: [PA12, PA13] 120*01950c46SEmmanuel Vadot - if: 121*01950c46SEmmanuel Vadot properties: 122*01950c46SEmmanuel Vadot function: 123*01950c46SEmmanuel Vadot const: can0 124*01950c46SEmmanuel Vadot then: 125*01950c46SEmmanuel Vadot properties: 126*01950c46SEmmanuel Vadot pins: 127*01950c46SEmmanuel Vadot items: 128*01950c46SEmmanuel Vadot enum: [PA14, PA15] 129*01950c46SEmmanuel Vadot - if: 130*01950c46SEmmanuel Vadot properties: 131*01950c46SEmmanuel Vadot function: 132*01950c46SEmmanuel Vadot const: can1 133*01950c46SEmmanuel Vadot then: 134*01950c46SEmmanuel Vadot properties: 135*01950c46SEmmanuel Vadot pins: 136*01950c46SEmmanuel Vadot items: 137*01950c46SEmmanuel Vadot enum: [PA16, PA17] 138*01950c46SEmmanuel Vadot - if: 139*01950c46SEmmanuel Vadot properties: 140*01950c46SEmmanuel Vadot function: 141*01950c46SEmmanuel Vadot const: spi0 142*01950c46SEmmanuel Vadot then: 143*01950c46SEmmanuel Vadot properties: 144*01950c46SEmmanuel Vadot pins: 145*01950c46SEmmanuel Vadot items: 146*01950c46SEmmanuel Vadot enum: [PA18, PA19, PA20, PA21, PA22] 147*01950c46SEmmanuel Vadot - if: 148*01950c46SEmmanuel Vadot properties: 149*01950c46SEmmanuel Vadot function: 150*01950c46SEmmanuel Vadot const: spi1 151*01950c46SEmmanuel Vadot then: 152*01950c46SEmmanuel Vadot properties: 153*01950c46SEmmanuel Vadot pins: 154*01950c46SEmmanuel Vadot items: 155*01950c46SEmmanuel Vadot enum: [PA23, PA24, PA25, PA26, PA27] 156*01950c46SEmmanuel Vadot - if: 157*01950c46SEmmanuel Vadot properties: 158*01950c46SEmmanuel Vadot function: 159*01950c46SEmmanuel Vadot const: refclk0 160*01950c46SEmmanuel Vadot then: 161*01950c46SEmmanuel Vadot properties: 162*01950c46SEmmanuel Vadot pins: 163*01950c46SEmmanuel Vadot items: 164*01950c46SEmmanuel Vadot enum: [PA28] 165*01950c46SEmmanuel Vadot - if: 166*01950c46SEmmanuel Vadot properties: 167*01950c46SEmmanuel Vadot function: 168*01950c46SEmmanuel Vadot const: timer3 169*01950c46SEmmanuel Vadot then: 170*01950c46SEmmanuel Vadot properties: 171*01950c46SEmmanuel Vadot pins: 172*01950c46SEmmanuel Vadot items: 173*01950c46SEmmanuel Vadot enum: [PB0, PB1] 174*01950c46SEmmanuel Vadot - if: 175*01950c46SEmmanuel Vadot properties: 176*01950c46SEmmanuel Vadot function: 177*01950c46SEmmanuel Vadot const: timer4 178*01950c46SEmmanuel Vadot then: 179*01950c46SEmmanuel Vadot properties: 180*01950c46SEmmanuel Vadot pins: 181*01950c46SEmmanuel Vadot items: 182*01950c46SEmmanuel Vadot enum: [PB2, PB3] 183*01950c46SEmmanuel Vadot - if: 184*01950c46SEmmanuel Vadot properties: 185*01950c46SEmmanuel Vadot function: 186*01950c46SEmmanuel Vadot const: timer6 187*01950c46SEmmanuel Vadot then: 188*01950c46SEmmanuel Vadot properties: 189*01950c46SEmmanuel Vadot pins: 190*01950c46SEmmanuel Vadot items: 191*01950c46SEmmanuel Vadot enum: [PB4, PB5, PB6, PB7] 192*01950c46SEmmanuel Vadot - if: 193*01950c46SEmmanuel Vadot properties: 194*01950c46SEmmanuel Vadot function: 195*01950c46SEmmanuel Vadot const: uart2 196*01950c46SEmmanuel Vadot then: 197*01950c46SEmmanuel Vadot properties: 198*01950c46SEmmanuel Vadot pins: 199*01950c46SEmmanuel Vadot items: 200*01950c46SEmmanuel Vadot enum: [PB8, PB9] 201*01950c46SEmmanuel Vadot - if: 202*01950c46SEmmanuel Vadot properties: 203*01950c46SEmmanuel Vadot function: 204*01950c46SEmmanuel Vadot const: can2 205*01950c46SEmmanuel Vadot then: 206*01950c46SEmmanuel Vadot properties: 207*01950c46SEmmanuel Vadot pins: 208*01950c46SEmmanuel Vadot items: 209*01950c46SEmmanuel Vadot enum: [PB10, PB11] 210*01950c46SEmmanuel Vadot - if: 211*01950c46SEmmanuel Vadot properties: 212*01950c46SEmmanuel Vadot function: 213*01950c46SEmmanuel Vadot const: spi2 214*01950c46SEmmanuel Vadot then: 215*01950c46SEmmanuel Vadot properties: 216*01950c46SEmmanuel Vadot pins: 217*01950c46SEmmanuel Vadot items: 218*01950c46SEmmanuel Vadot enum: [PB12, PB13, PB14, PB15, PB16] 219*01950c46SEmmanuel Vadot - if: 220*01950c46SEmmanuel Vadot properties: 221*01950c46SEmmanuel Vadot function: 222*01950c46SEmmanuel Vadot const: spi3 223*01950c46SEmmanuel Vadot then: 224*01950c46SEmmanuel Vadot properties: 225*01950c46SEmmanuel Vadot pins: 226*01950c46SEmmanuel Vadot items: 227*01950c46SEmmanuel Vadot enum: [PB17, PB18, PB19, PB20, PB21] 228*01950c46SEmmanuel Vadot - if: 229*01950c46SEmmanuel Vadot properties: 230*01950c46SEmmanuel Vadot function: 231*01950c46SEmmanuel Vadot const: mclk0 232*01950c46SEmmanuel Vadot then: 233*01950c46SEmmanuel Vadot properties: 234*01950c46SEmmanuel Vadot pins: 235*01950c46SEmmanuel Vadot items: 236*01950c46SEmmanuel Vadot enum: [PB22] 237*01950c46SEmmanuel Vadot 238*01950c46SEmmanuel Vadotrequired: 239*01950c46SEmmanuel Vadot - compatible 240*01950c46SEmmanuel Vadot - reg 241*01950c46SEmmanuel Vadot 242*01950c46SEmmanuel VadotadditionalProperties: false 243