1f6b8061dSBiju Das# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2f6b8061dSBiju Das%YAML 1.2 3f6b8061dSBiju Das--- 4f6b8061dSBiju Das$id: http://devicetree.org/schemas/net/can/nxp,sja1000.yaml# 5f6b8061dSBiju Das$schema: http://devicetree.org/meta-schemas/core.yaml# 6f6b8061dSBiju Das 7f6b8061dSBiju Dastitle: Memory mapped SJA1000 CAN controller from NXP (formerly Philips) 8f6b8061dSBiju Das 9f6b8061dSBiju Dasmaintainers: 10f6b8061dSBiju Das - Wolfgang Grandegger <wg@grandegger.com> 11f6b8061dSBiju Das 12f6b8061dSBiju Dasproperties: 13f6b8061dSBiju Das compatible: 144591c760SBiju Das oneOf: 154591c760SBiju Das - enum: 16f6b8061dSBiju Das - nxp,sja1000 17f6b8061dSBiju Das - technologic,sja1000 184591c760SBiju Das - items: 194591c760SBiju Das - enum: 204591c760SBiju Das - renesas,r9a06g032-sja1000 # RZ/N1D 214591c760SBiju Das - renesas,r9a06g033-sja1000 # RZ/N1S 224591c760SBiju Das - const: renesas,rzn1-sja1000 # RZ/N1 23f6b8061dSBiju Das 24f6b8061dSBiju Das reg: 25f6b8061dSBiju Das maxItems: 1 26f6b8061dSBiju Das 27f6b8061dSBiju Das interrupts: 28f6b8061dSBiju Das maxItems: 1 29f6b8061dSBiju Das 304591c760SBiju Das clocks: 314591c760SBiju Das maxItems: 1 324591c760SBiju Das 33*f4dda244SBiju Das power-domains: 34*f4dda244SBiju Das maxItems: 1 35*f4dda244SBiju Das 36f6b8061dSBiju Das reg-io-width: 37f6b8061dSBiju Das description: I/O register width (in bytes) implemented by this device 38f6b8061dSBiju Das default: 1 39f6b8061dSBiju Das enum: [ 1, 2, 4 ] 40f6b8061dSBiju Das 41f6b8061dSBiju Das nxp,external-clock-frequency: 42f6b8061dSBiju Das $ref: /schemas/types.yaml#/definitions/uint32 43f6b8061dSBiju Das default: 16000000 44f6b8061dSBiju Das description: | 45f6b8061dSBiju Das Frequency of the external oscillator clock in Hz. 46f6b8061dSBiju Das The internal clock frequency used by the SJA1000 is half of that value. 47f6b8061dSBiju Das 48f6b8061dSBiju Das nxp,tx-output-mode: 49f6b8061dSBiju Das $ref: /schemas/types.yaml#/definitions/uint32 50f6b8061dSBiju Das enum: [ 0, 1, 2, 3 ] 51f6b8061dSBiju Das default: 1 52f6b8061dSBiju Das description: | 53f6b8061dSBiju Das operation mode of the TX output control logic. Valid values are: 54f6b8061dSBiju Das <0> : bi-phase output mode 55f6b8061dSBiju Das <1> : normal output mode (default) 56f6b8061dSBiju Das <2> : test output mode 57f6b8061dSBiju Das <3> : clock output mode 58f6b8061dSBiju Das 59f6b8061dSBiju Das nxp,tx-output-config: 60f6b8061dSBiju Das $ref: /schemas/types.yaml#/definitions/uint32 61f6b8061dSBiju Das default: 0x02 62f6b8061dSBiju Das description: | 63f6b8061dSBiju Das TX output pin configuration. Valid values are any one of the below 64f6b8061dSBiju Das or combination of TX0 and TX1: 65f6b8061dSBiju Das <0x01> : TX0 invert 66f6b8061dSBiju Das <0x02> : TX0 pull-down (default) 67f6b8061dSBiju Das <0x04> : TX0 pull-up 68f6b8061dSBiju Das <0x06> : TX0 push-pull 69f6b8061dSBiju Das <0x08> : TX1 invert 70f6b8061dSBiju Das <0x10> : TX1 pull-down 71f6b8061dSBiju Das <0x20> : TX1 pull-up 72f6b8061dSBiju Das <0x30> : TX1 push-pull 73f6b8061dSBiju Das 74f6b8061dSBiju Das nxp,clock-out-frequency: 75f6b8061dSBiju Das $ref: /schemas/types.yaml#/definitions/uint32 76f6b8061dSBiju Das description: | 77f6b8061dSBiju Das clock frequency in Hz on the CLKOUT pin. 78f6b8061dSBiju Das If not specified or if the specified value is 0, the CLKOUT pin 79f6b8061dSBiju Das will be disabled. 80f6b8061dSBiju Das 81f6b8061dSBiju Das nxp,no-comparator-bypass: 82f6b8061dSBiju Das type: boolean 83f6b8061dSBiju Das description: Allows to disable the CAN input comparator. 84f6b8061dSBiju Das 85f6b8061dSBiju Dasrequired: 86f6b8061dSBiju Das - compatible 87f6b8061dSBiju Das - reg 88f6b8061dSBiju Das - interrupts 89f6b8061dSBiju Das 90f6b8061dSBiju DasallOf: 91f6b8061dSBiju Das - $ref: can-controller.yaml# 92f6b8061dSBiju Das - if: 93f6b8061dSBiju Das properties: 94f6b8061dSBiju Das compatible: 95f6b8061dSBiju Das contains: 964591c760SBiju Das enum: 974591c760SBiju Das - technologic,sja1000 984591c760SBiju Das - renesas,rzn1-sja1000 99f6b8061dSBiju Das then: 100f6b8061dSBiju Das required: 101f6b8061dSBiju Das - reg-io-width 1024591c760SBiju Das - if: 1034591c760SBiju Das properties: 1044591c760SBiju Das compatible: 1054591c760SBiju Das contains: 1064591c760SBiju Das const: renesas,rzn1-sja1000 1074591c760SBiju Das then: 1084591c760SBiju Das required: 1094591c760SBiju Das - clocks 110*f4dda244SBiju Das - power-domains 111f6b8061dSBiju Das 112f6b8061dSBiju DasunevaluatedProperties: false 113f6b8061dSBiju Das 114f6b8061dSBiju Dasexamples: 115f6b8061dSBiju Das - | 116f6b8061dSBiju Das can@1a000 { 117f6b8061dSBiju Das compatible = "technologic,sja1000"; 118f6b8061dSBiju Das reg = <0x1a000 0x100>; 119f6b8061dSBiju Das interrupts = <1>; 120f6b8061dSBiju Das reg-io-width = <2>; 121f6b8061dSBiju Das nxp,tx-output-config = <0x06>; 122f6b8061dSBiju Das nxp,external-clock-frequency = <24000000>; 123f6b8061dSBiju Das }; 1244591c760SBiju Das 1254591c760SBiju Das - | 1264591c760SBiju Das #include <dt-bindings/interrupt-controller/arm-gic.h> 1274591c760SBiju Das #include <dt-bindings/clock/r9a06g032-sysctrl.h> 1284591c760SBiju Das 1294591c760SBiju Das can@52104000 { 1304591c760SBiju Das compatible = "renesas,r9a06g032-sja1000", "renesas,rzn1-sja1000"; 1314591c760SBiju Das reg = <0x52104000 0x800>; 1324591c760SBiju Das reg-io-width = <4>; 1334591c760SBiju Das interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 1344591c760SBiju Das clocks = <&sysctrl R9A06G032_HCLK_CAN0>; 135*f4dda244SBiju Das power-domains = <&sysctrl>; 1364591c760SBiju Das }; 137