18bab661aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 28bab661aSEmmanuel Vadot# Copyright 2022 Linaro Ltd. 38bab661aSEmmanuel Vadot%YAML 1.2 48bab661aSEmmanuel Vadot--- 58bab661aSEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/semtech,sx1501q.yaml# 68bab661aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 78bab661aSEmmanuel Vadot 88bab661aSEmmanuel Vadottitle: Semtech SX150x GPIO expander 98bab661aSEmmanuel Vadot 108bab661aSEmmanuel Vadotmaintainers: 118bab661aSEmmanuel Vadot - Neil Armstrong <neil.armstrong@linaro.org> 128bab661aSEmmanuel Vadot 138bab661aSEmmanuel Vadotproperties: 148bab661aSEmmanuel Vadot compatible: 158bab661aSEmmanuel Vadot enum: 168bab661aSEmmanuel Vadot - semtech,sx1501q 178bab661aSEmmanuel Vadot - semtech,sx1502q 188bab661aSEmmanuel Vadot - semtech,sx1503q 198bab661aSEmmanuel Vadot - semtech,sx1504q 208bab661aSEmmanuel Vadot - semtech,sx1505q 218bab661aSEmmanuel Vadot - semtech,sx1506q 228bab661aSEmmanuel Vadot - semtech,sx1507q 238bab661aSEmmanuel Vadot - semtech,sx1508q 248bab661aSEmmanuel Vadot - semtech,sx1509q 258bab661aSEmmanuel Vadot 268bab661aSEmmanuel Vadot reg: 278bab661aSEmmanuel Vadot maxItems: 1 288bab661aSEmmanuel Vadot 298bab661aSEmmanuel Vadot interrupts: 308bab661aSEmmanuel Vadot maxItems: 1 318bab661aSEmmanuel Vadot 328bab661aSEmmanuel Vadot '#interrupt-cells': 338bab661aSEmmanuel Vadot const: 2 348bab661aSEmmanuel Vadot 358bab661aSEmmanuel Vadot interrupt-controller: true 368bab661aSEmmanuel Vadot 378bab661aSEmmanuel Vadot '#gpio-cells': 388bab661aSEmmanuel Vadot const: 2 398bab661aSEmmanuel Vadot 408bab661aSEmmanuel Vadot gpio-controller: true 418bab661aSEmmanuel Vadot 428bab661aSEmmanuel Vadot semtech,probe-reset: 438bab661aSEmmanuel Vadot description: Will trigger a reset of the GPIO expander on probe 448bab661aSEmmanuel Vadot type: boolean 458bab661aSEmmanuel Vadot 468bab661aSEmmanuel VadotpatternProperties: 478bab661aSEmmanuel Vadot '-cfg$': 488bab661aSEmmanuel Vadot type: object 498bab661aSEmmanuel Vadot properties: 508bab661aSEmmanuel Vadot pins: true 518bab661aSEmmanuel Vadot 528bab661aSEmmanuel Vadot bias-disable: true 538bab661aSEmmanuel Vadot bias-pull-up: true 548bab661aSEmmanuel Vadot bias-pull-down: true 558bab661aSEmmanuel Vadot bias-pull-pin-default: true 568bab661aSEmmanuel Vadot drive-push-pull: true 578bab661aSEmmanuel Vadot output-low: true 588bab661aSEmmanuel Vadot output-high: true 598bab661aSEmmanuel Vadot drive-open-drain: true 608bab661aSEmmanuel Vadot 618bab661aSEmmanuel Vadot required: 628bab661aSEmmanuel Vadot - pins 638bab661aSEmmanuel Vadot 648bab661aSEmmanuel Vadot allOf: 65*fac71e4eSEmmanuel Vadot - $ref: pincfg-node.yaml# 66*fac71e4eSEmmanuel Vadot - $ref: pinmux-node.yaml# 678bab661aSEmmanuel Vadot - if: 688bab661aSEmmanuel Vadot properties: 698bab661aSEmmanuel Vadot pins: 708bab661aSEmmanuel Vadot contains: 718bab661aSEmmanuel Vadot const: oscio 728bab661aSEmmanuel Vadot then: 738bab661aSEmmanuel Vadot properties: 748bab661aSEmmanuel Vadot bias-disable: false 758bab661aSEmmanuel Vadot bias-pull-up: false 768bab661aSEmmanuel Vadot bias-pull-down: false 778bab661aSEmmanuel Vadot bias-pull-pin-default: false 788bab661aSEmmanuel Vadot drive-open-drain: false 798bab661aSEmmanuel Vadot 808bab661aSEmmanuel Vadot additionalProperties: false 818bab661aSEmmanuel Vadot 828bab661aSEmmanuel Vadotrequired: 838bab661aSEmmanuel Vadot - compatible 848bab661aSEmmanuel Vadot - reg 858bab661aSEmmanuel Vadot - '#gpio-cells' 868bab661aSEmmanuel Vadot - gpio-controller 878bab661aSEmmanuel Vadot 888bab661aSEmmanuel VadotallOf: 89*fac71e4eSEmmanuel Vadot - $ref: pinctrl.yaml# 908bab661aSEmmanuel Vadot - if: 918bab661aSEmmanuel Vadot not: 928bab661aSEmmanuel Vadot properties: 938bab661aSEmmanuel Vadot compatible: 948bab661aSEmmanuel Vadot contains: 958bab661aSEmmanuel Vadot enum: 968bab661aSEmmanuel Vadot - semtech,sx1507q 978bab661aSEmmanuel Vadot - semtech,sx1508q 988bab661aSEmmanuel Vadot - semtech,sx1509q 998bab661aSEmmanuel Vadot then: 1008bab661aSEmmanuel Vadot properties: 1018bab661aSEmmanuel Vadot semtech,probe-reset: false 1028bab661aSEmmanuel Vadot - if: 1038bab661aSEmmanuel Vadot properties: 1048bab661aSEmmanuel Vadot compatible: 1058bab661aSEmmanuel Vadot contains: 1068bab661aSEmmanuel Vadot enum: 1078bab661aSEmmanuel Vadot - semtech,sx1501q 1088bab661aSEmmanuel Vadot - semtech,sx1504q 1098bab661aSEmmanuel Vadot then: 1108bab661aSEmmanuel Vadot patternProperties: 1118bab661aSEmmanuel Vadot '-cfg$': 1128bab661aSEmmanuel Vadot properties: 1138bab661aSEmmanuel Vadot pins: 1148bab661aSEmmanuel Vadot items: 1158bab661aSEmmanuel Vadot pattern: '^gpio[0-3]$' 1168bab661aSEmmanuel Vadot - if: 1178bab661aSEmmanuel Vadot properties: 1188bab661aSEmmanuel Vadot compatible: 1198bab661aSEmmanuel Vadot contains: 1208bab661aSEmmanuel Vadot enum: 1218bab661aSEmmanuel Vadot - semtech,sx1502q 1228bab661aSEmmanuel Vadot - semtech,sx1505q 1238bab661aSEmmanuel Vadot then: 1248bab661aSEmmanuel Vadot patternProperties: 1258bab661aSEmmanuel Vadot '-cfg$': 1268bab661aSEmmanuel Vadot properties: 1278bab661aSEmmanuel Vadot pins: 1288bab661aSEmmanuel Vadot items: 1298bab661aSEmmanuel Vadot pattern: '^gpio[0-7]$' 1308bab661aSEmmanuel Vadot - if: 1318bab661aSEmmanuel Vadot properties: 1328bab661aSEmmanuel Vadot compatible: 1338bab661aSEmmanuel Vadot contains: 1348bab661aSEmmanuel Vadot enum: 1358bab661aSEmmanuel Vadot - semtech,sx1503q 1368bab661aSEmmanuel Vadot - semtech,sx1506q 1378bab661aSEmmanuel Vadot then: 1388bab661aSEmmanuel Vadot patternProperties: 1398bab661aSEmmanuel Vadot '-cfg$': 1408bab661aSEmmanuel Vadot properties: 1418bab661aSEmmanuel Vadot pins: 1428bab661aSEmmanuel Vadot items: 1438bab661aSEmmanuel Vadot pattern: '^(gpio[0-9]|gpio1[0-5])$' 1448bab661aSEmmanuel Vadot - if: 1458bab661aSEmmanuel Vadot properties: 1468bab661aSEmmanuel Vadot compatible: 1478bab661aSEmmanuel Vadot contains: 1488bab661aSEmmanuel Vadot const: semtech,sx1507q 1498bab661aSEmmanuel Vadot then: 1508bab661aSEmmanuel Vadot patternProperties: 1518bab661aSEmmanuel Vadot '-cfg$': 1528bab661aSEmmanuel Vadot properties: 1538bab661aSEmmanuel Vadot pins: 1548bab661aSEmmanuel Vadot items: 1558bab661aSEmmanuel Vadot pattern: '^(oscio|gpio[0-3])$' 1568bab661aSEmmanuel Vadot - if: 1578bab661aSEmmanuel Vadot properties: 1588bab661aSEmmanuel Vadot compatible: 1598bab661aSEmmanuel Vadot contains: 1608bab661aSEmmanuel Vadot const: semtech,sx1508q 1618bab661aSEmmanuel Vadot then: 1628bab661aSEmmanuel Vadot patternProperties: 1638bab661aSEmmanuel Vadot '-cfg$': 1648bab661aSEmmanuel Vadot properties: 1658bab661aSEmmanuel Vadot pins: 1668bab661aSEmmanuel Vadot items: 1678bab661aSEmmanuel Vadot pattern: '^(oscio|gpio[0-7])$' 1688bab661aSEmmanuel Vadot - if: 1698bab661aSEmmanuel Vadot properties: 1708bab661aSEmmanuel Vadot compatible: 1718bab661aSEmmanuel Vadot contains: 1728bab661aSEmmanuel Vadot const: semtech,sx1509q 1738bab661aSEmmanuel Vadot then: 1748bab661aSEmmanuel Vadot patternProperties: 1758bab661aSEmmanuel Vadot '-cfg$': 1768bab661aSEmmanuel Vadot properties: 1778bab661aSEmmanuel Vadot pins: 1788bab661aSEmmanuel Vadot items: 1798bab661aSEmmanuel Vadot pattern: '^(oscio|gpio[0-9]|gpio1[0-5])$' 1808bab661aSEmmanuel Vadot 1818bab661aSEmmanuel VadotadditionalProperties: false 1828bab661aSEmmanuel Vadot 1838bab661aSEmmanuel Vadotexamples: 1848bab661aSEmmanuel Vadot - | 1858bab661aSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 1868bab661aSEmmanuel Vadot i2c@1000 { 1878bab661aSEmmanuel Vadot reg = <0x1000 0x80>; 1888bab661aSEmmanuel Vadot #address-cells = <1>; 1898bab661aSEmmanuel Vadot #size-cells = <0>; 1908bab661aSEmmanuel Vadot 1918bab661aSEmmanuel Vadot pinctrl@20 { 1928bab661aSEmmanuel Vadot compatible = "semtech,sx1501q"; 1938bab661aSEmmanuel Vadot reg = <0x20>; 1948bab661aSEmmanuel Vadot 1958bab661aSEmmanuel Vadot #gpio-cells = <2>; 1968bab661aSEmmanuel Vadot #interrupt-cells = <2>; 1978bab661aSEmmanuel Vadot 1988bab661aSEmmanuel Vadot interrupts = <16 IRQ_TYPE_EDGE_FALLING>; 1998bab661aSEmmanuel Vadot 2008bab661aSEmmanuel Vadot gpio-controller; 2018bab661aSEmmanuel Vadot interrupt-controller; 2028bab661aSEmmanuel Vadot 2038bab661aSEmmanuel Vadot gpio1-cfg { 2048bab661aSEmmanuel Vadot pins = "gpio1"; 2058bab661aSEmmanuel Vadot bias-pull-up; 2068bab661aSEmmanuel Vadot }; 2078bab661aSEmmanuel Vadot }; 2088bab661aSEmmanuel Vadot }; 209