137 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/net/can/nxp,sja1000.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Memory mapped SJA1000 CAN controller from NXP (formerly Philips)8 9maintainers:10 - Wolfgang Grandegger <wg@grandegger.com>11 12properties:13 compatible:14 oneOf:15 - enum:16 - nxp,sja100017 - technologic,sja100018 - items:19 - enum:20 - renesas,r9a06g032-sja1000 # RZ/N1D21 - renesas,r9a06g033-sja1000 # RZ/N1S22 - const: renesas,rzn1-sja1000 # RZ/N123 24 reg:25 maxItems: 126 27 interrupts:28 maxItems: 129 30 clocks:31 maxItems: 132 33 power-domains:34 maxItems: 135 36 reg-io-width:37 description: I/O register width (in bytes) implemented by this device38 default: 139 enum: [ 1, 2, 4 ]40 41 nxp,external-clock-frequency:42 $ref: /schemas/types.yaml#/definitions/uint3243 default: 1600000044 description: |45 Frequency of the external oscillator clock in Hz.46 The internal clock frequency used by the SJA1000 is half of that value.47 48 nxp,tx-output-mode:49 $ref: /schemas/types.yaml#/definitions/uint3250 enum: [ 0, 1, 2, 3 ]51 default: 152 description: |53 operation mode of the TX output control logic. Valid values are:54 <0> : bi-phase output mode55 <1> : normal output mode (default)56 <2> : test output mode57 <3> : clock output mode58 59 nxp,tx-output-config:60 $ref: /schemas/types.yaml#/definitions/uint3261 default: 0x0262 description: |63 TX output pin configuration. Valid values are any one of the below64 or combination of TX0 and TX1:65 <0x01> : TX0 invert66 <0x02> : TX0 pull-down (default)67 <0x04> : TX0 pull-up68 <0x06> : TX0 push-pull69 <0x08> : TX1 invert70 <0x10> : TX1 pull-down71 <0x20> : TX1 pull-up72 <0x30> : TX1 push-pull73 74 nxp,clock-out-frequency:75 $ref: /schemas/types.yaml#/definitions/uint3276 description: |77 clock frequency in Hz on the CLKOUT pin.78 If not specified or if the specified value is 0, the CLKOUT pin79 will be disabled.80 81 nxp,no-comparator-bypass:82 type: boolean83 description: Allows to disable the CAN input comparator.84 85required:86 - compatible87 - reg88 - interrupts89 90allOf:91 - $ref: can-controller.yaml#92 - if:93 properties:94 compatible:95 contains:96 enum:97 - technologic,sja100098 - renesas,rzn1-sja100099 then:100 required:101 - reg-io-width102 - if:103 properties:104 compatible:105 contains:106 const: renesas,rzn1-sja1000107 then:108 required:109 - clocks110 - power-domains111 112unevaluatedProperties: false113 114examples:115 - |116 can@1a000 {117 compatible = "technologic,sja1000";118 reg = <0x1a000 0x100>;119 interrupts = <1>;120 reg-io-width = <2>;121 nxp,tx-output-config = <0x06>;122 nxp,external-clock-frequency = <24000000>;123 };124 125 - |126 #include <dt-bindings/interrupt-controller/arm-gic.h>127 #include <dt-bindings/clock/r9a06g032-sysctrl.h>128 129 can@52104000 {130 compatible = "renesas,r9a06g032-sja1000", "renesas,rzn1-sja1000";131 reg = <0x52104000 0x800>;132 reg-io-width = <4>;133 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;134 clocks = <&sysctrl R9A06G032_HCLK_CAN0>;135 power-domains = <&sysctrl>;136 };137