| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/net/can/nxp,sja1000.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Memory mapped SJA1000 CAN controller from NXP (formerly Philips) |
| |
| maintainers: |
| - Wolfgang Grandegger <wg@grandegger.com> |
| |
| properties: |
| compatible: |
| oneOf: |
| - enum: |
| - nxp,sja1000 |
| - technologic,sja1000 |
| - items: |
| - enum: |
| - renesas,r9a06g032-sja1000 # RZ/N1D |
| - renesas,r9a06g033-sja1000 # RZ/N1S |
| - const: renesas,rzn1-sja1000 # RZ/N1 |
| |
| reg: |
| maxItems: 1 |
| |
| interrupts: |
| maxItems: 1 |
| |
| clocks: |
| maxItems: 1 |
| |
| power-domains: |
| maxItems: 1 |
| |
| reg-io-width: |
| description: I/O register width (in bytes) implemented by this device |
| default: 1 |
| enum: [ 1, 2, 4 ] |
| |
| nxp,external-clock-frequency: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| default: 16000000 |
| description: | |
| Frequency of the external oscillator clock in Hz. |
| The internal clock frequency used by the SJA1000 is half of that value. |
| |
| nxp,tx-output-mode: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| enum: [ 0, 1, 2, 3 ] |
| default: 1 |
| description: | |
| operation mode of the TX output control logic. Valid values are: |
| <0> : bi-phase output mode |
| <1> : normal output mode (default) |
| <2> : test output mode |
| <3> : clock output mode |
| |
| nxp,tx-output-config: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| default: 0x02 |
| description: | |
| TX output pin configuration. Valid values are any one of the below |
| or combination of TX0 and TX1: |
| <0x01> : TX0 invert |
| <0x02> : TX0 pull-down (default) |
| <0x04> : TX0 pull-up |
| <0x06> : TX0 push-pull |
| <0x08> : TX1 invert |
| <0x10> : TX1 pull-down |
| <0x20> : TX1 pull-up |
| <0x30> : TX1 push-pull |
| |
| nxp,clock-out-frequency: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| description: | |
| clock frequency in Hz on the CLKOUT pin. |
| If not specified or if the specified value is 0, the CLKOUT pin |
| will be disabled. |
| |
| nxp,no-comparator-bypass: |
| type: boolean |
| description: Allows to disable the CAN input comparator. |
| |
| required: |
| - compatible |
| - reg |
| - interrupts |
| |
| allOf: |
| - $ref: can-controller.yaml# |
| - if: |
| properties: |
| compatible: |
| contains: |
| enum: |
| - technologic,sja1000 |
| - renesas,rzn1-sja1000 |
| then: |
| required: |
| - reg-io-width |
| - if: |
| properties: |
| compatible: |
| contains: |
| const: renesas,rzn1-sja1000 |
| then: |
| required: |
| - clocks |
| - power-domains |
| |
| unevaluatedProperties: false |
| |
| examples: |
| - | |
| can@1a000 { |
| compatible = "technologic,sja1000"; |
| reg = <0x1a000 0x100>; |
| interrupts = <1>; |
| reg-io-width = <2>; |
| nxp,tx-output-config = <0x06>; |
| nxp,external-clock-frequency = <24000000>; |
| }; |
| |
| - | |
| #include <dt-bindings/interrupt-controller/arm-gic.h> |
| #include <dt-bindings/clock/r9a06g032-sysctrl.h> |
| |
| can@52104000 { |
| compatible = "renesas,r9a06g032-sja1000", "renesas,rzn1-sja1000"; |
| reg = <0x52104000 0x800>; |
| reg-io-width = <4>; |
| interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&sysctrl R9A06G032_HCLK_CAN0>; |
| power-domains = <&sysctrl>; |
| }; |