137 lines
3.4 KiB
YAML
137 lines
3.4 KiB
YAML
|
# 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>;
|
||
|
};
|