~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/net/can/fsl,flexcan.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/net/can/fsl,flexcan.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title:
  8   Flexcan CAN controller on Freescale's ARM and PowerPC system-on-a-chip (SOC).
  9 
 10 maintainers:
 11   - Marc Kleine-Budde <mkl@pengutronix.de>
 12 
 13 allOf:
 14   - $ref: can-controller.yaml#
 15 
 16 properties:
 17   compatible:
 18     oneOf:
 19       - enum:
 20           - fsl,imx95-flexcan
 21           - fsl,imx93-flexcan
 22           - fsl,imx8qm-flexcan
 23           - fsl,imx8mp-flexcan
 24           - fsl,imx6q-flexcan
 25           - fsl,imx28-flexcan
 26           - fsl,imx25-flexcan
 27           - fsl,p1010-flexcan
 28           - fsl,vf610-flexcan
 29           - fsl,ls1021ar2-flexcan
 30           - fsl,lx2160ar1-flexcan
 31       - items:
 32           - enum:
 33               - fsl,imx53-flexcan
 34               - fsl,imx35-flexcan
 35           - const: fsl,imx25-flexcan
 36       - items:
 37           - enum:
 38               - fsl,imx7d-flexcan
 39               - fsl,imx6ul-flexcan
 40               - fsl,imx6sx-flexcan
 41           - const: fsl,imx6q-flexcan
 42       - items:
 43           - enum:
 44               - fsl,ls1028ar1-flexcan
 45           - const: fsl,lx2160ar1-flexcan
 46 
 47   reg:
 48     maxItems: 1
 49 
 50   interrupts:
 51     maxItems: 1
 52 
 53   clocks:
 54     maxItems: 2
 55 
 56   clock-names:
 57     items:
 58       - const: ipg
 59       - const: per
 60 
 61   clock-frequency:
 62     description: |
 63       The oscillator frequency driving the flexcan device, filled in by the
 64       boot loader. This property should only be used the used operating system
 65       doesn't support the clocks and clock-names property.
 66 
 67   power-domains:
 68     maxItems: 1
 69 
 70   xceiver-supply:
 71     description: Regulator that powers the CAN transceiver.
 72 
 73   big-endian:
 74     $ref: /schemas/types.yaml#/definitions/flag
 75     description: |
 76       This means the registers of FlexCAN controller are big endian. This is
 77       optional property.i.e. if this property is not present in device tree
 78       node then controller is assumed to be little endian. If this property is
 79       present then controller is assumed to be big endian.
 80 
 81   can-transceiver:
 82     $ref: can-transceiver.yaml#
 83     unevaluatedProperties: false
 84 
 85   fsl,stop-mode:
 86     description: |
 87       Register bits of stop mode control.
 88 
 89       The format should be as follows:
 90       <gpr req_gpr req_bit>
 91       gpr is the phandle to general purpose register node.
 92       req_gpr is the gpr register offset of CAN stop request.
 93       req_bit is the bit offset of CAN stop request.
 94     $ref: /schemas/types.yaml#/definitions/phandle-array
 95     items:
 96       - items:
 97           - description: The 'gpr' is the phandle to general purpose register node.
 98           - description: The 'req_gpr' is the gpr register offset of CAN stop request.
 99             maximum: 0xff
100           - description: The 'req_bit' is the bit offset of CAN stop request.
101             maximum: 0x1f
102 
103   fsl,clk-source:
104     description: |
105       Select the clock source to the CAN Protocol Engine (PE). It's SoC
106       implementation dependent. Refer to RM for detailed definition. If this
107       property is not set in device tree node then driver selects clock source 1
108       by default.
109       0: clock source 0 (oscillator clock)
110       1: clock source 1 (peripheral clock)
111     $ref: /schemas/types.yaml#/definitions/uint8
112     default: 1
113     minimum: 0
114     maximum: 1
115 
116   wakeup-source:
117     $ref: /schemas/types.yaml#/definitions/flag
118     description:
119       Enable CAN remote wakeup.
120 
121   fsl,scu-index:
122     description: |
123       The scu index of CAN instance.
124       For SoCs with SCU support, need setup stop mode via SCU firmware, so this
125       property can help indicate a resource. It supports up to 3 CAN instances
126       now.
127     $ref: /schemas/types.yaml#/definitions/uint8
128     minimum: 0
129     maximum: 2
130 
131   termination-gpios: true
132   termination-ohms: true
133 
134 required:
135   - compatible
136   - reg
137   - interrupts
138 
139 additionalProperties: false
140 
141 examples:
142   - |
143     can@1c000 {
144         compatible = "fsl,p1010-flexcan";
145         reg = <0x1c000 0x1000>;
146         interrupts = <48 0x2>;
147         interrupt-parent = <&mpic>;
148         clock-frequency = <200000000>;
149         fsl,clk-source = /bits/ 8 <0>;
150     };
151   - |
152     #include <dt-bindings/interrupt-controller/irq.h>
153 
154     can@2090000 {
155         compatible = "fsl,imx6q-flexcan";
156         reg = <0x02090000 0x4000>;
157         interrupts = <0 110 IRQ_TYPE_LEVEL_HIGH>;
158         clocks = <&clks 1>, <&clks 2>;
159         clock-names = "ipg", "per";
160         fsl,stop-mode = <&gpr 0x34 28>;
161         fsl,scu-index = /bits/ 8 <1>;
162     };
163   - |
164     #include <dt-bindings/interrupt-controller/irq.h>
165     #include <dt-bindings/gpio/gpio.h>
166 
167     can@2090000 {
168         compatible = "fsl,imx6q-flexcan";
169         reg = <0x02090000 0x4000>;
170         interrupts = <0 110 IRQ_TYPE_LEVEL_HIGH>;
171         clocks = <&clks 1>, <&clks 2>;
172         clock-names = "ipg", "per";
173         fsl,stop-mode = <&gpr 0x34 28>;
174         termination-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
175         termination-ohms = <120>;
176     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php