^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0-only
^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/i2c/i2c-pxa.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: Marvell MMP I2C controller bindings
^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) - Rob Herring <robh+dt@kernel.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) allOf:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) - $ref: /schemas/i2c/i2c-controller.yaml#
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) - if:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) not:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) required:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) - mrvl,i2c-polling
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) then:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) required:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) - interrupts
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) compatible:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) enum:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) - mrvl,mmp-twsi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) - mrvl,pxa-i2c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) - marvell,armada-3700-i2c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) reg:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) maxItems: 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) interrupts:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) maxItems: 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) clocks:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) minItems: 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) resets:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) minItems: 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) mrvl,i2c-polling:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) $ref: /schemas/types.yaml#/definitions/flag
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) description: |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) Disable interrupt of i2c controller. Polling status register of i2c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) controller instead.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) mrvl,i2c-fast-mode:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) $ref: /schemas/types.yaml#/definitions/flag
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) description: Enable fast mode of i2c controller.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) unevaluatedProperties: false
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) required:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) - compatible
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) - reg
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) - interrupts
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) - clocks
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) - '#address-cells'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) - '#size-cells'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) examples:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) - |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) #include <dt-bindings/clock/marvell,mmp2.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) i2c@d4011000 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) compatible = "mrvl,mmp-twsi";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) reg = <0xd4011000 0x1000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) interrupts = <7>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) clocks = <&soc_clocks MMP2_CLK_TWSI1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) mrvl,i2c-fast-mode;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) #address-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) #size-cells = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) ...