mirror of
https://github.com/torvalds/linux.git
synced 2026-04-21 08:13:56 -04:00
Pull devicetree updates from Rob Herring: - Add Krzysztof Kozlowski as co-maintainer for DT bindings providing much needed help. - DT schema validation now takes DTB files as input rather than intermediate YAML files. This decouples the validation from the source level syntax information. There's a bunch of schema fixes as a result of switching to DTB based validation which exposed some errors and incomplete schemas and examples. - Kbuild improvements to explicitly warn users running 'make dt_binding_check' on missing yamllint - Expand DT_SCHEMA_FILES kbuild variable to take just a partial filename or path instead of the full path to 1 file. - Convert various bindings to schema format: mscc,vsc7514-switch, multiple GNSS bindings, ahci-platform, i2c-at91, multiple UFS bindings, cortina,gemini-sata-bridge, cortina,gemini-ethernet, Atmel SHA, Atmel TDES, Atmel AES, armv7m-systick, Samsung Exynos display subsystem, nuvoton,npcm7xx-timer, samsung,s3c2410-i2c, zynqmp_dma, msm/mdp4, rda,8810pl-uart - New schemas for u-boot environment variable partition, TI clksel - New compatible strings for Renesas RZ/V2L SoC - Vendor prefixes for Xen, HPE, deprecated Synopsys, deprecated HiSilicon - Add/fix schemas for QEMU Arm 'virt' machine - Drop unused of_alias_get_alias_list() function - Add a script to check DT unittest EXPECT message output. Pass messages also now print by default at PR_INFO level to help test automation. * tag 'devicetree-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (96 commits) dt-bindings: kbuild: Make DT_SCHEMA_LINT a recursive variable dt-bindings: nvmem: add U-Boot environment variables binding dt-bindings: ufs: qcom: Add SM6350 compatible string dt-bindings: dmaengine: sifive,fu540-c000: include generic schema dt-bindings: gpio: pca95xx: drop useless consumer example Revert "of: base: Introduce of_alias_get_alias_list() to check alias IDs" dt-bindings: virtio,mmio: Allow setting devices 'dma-coherent' dt-bindings: gnss: Add two more chips dt-bindings: gnss: Rewrite sirfstar binding in YAML dt-bindings: gnss: Modify u-blox to use common bindings dt-bindings: gnss: Rewrite common bindings in YAML dt-bindings: ata: ahci-platform: Add rk3568-dwc-ahci compatible dt-bindings: ata: ahci-platform: Add power-domains property dt-bindings: ata: ahci-platform: Convert DT bindings to yaml dt-bindings: kbuild: Use DTB files for validation dt-bindings: kbuild: Pass DT_SCHEMA_FILES to dt-validate dt-bindings: Add QEMU virt machine compatible dt-bindings: arm: Convert QEMU fw-cfg to DT schema dt-bindings: i2c: at91: Add SAMA7G5 compatible strings list dt-bindings: i2c: convert i2c-at91 to json-schema ...
153 lines
4.0 KiB
YAML
153 lines
4.0 KiB
YAML
# SPDX-License-Identifier: GPL-2.0
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/net/can/bosch,m_can.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Bosch MCAN controller Bindings
|
|
|
|
description: Bosch MCAN controller for CAN bus
|
|
|
|
maintainers:
|
|
- Chandrasekar Ramakrishnan <rcsekar@samsung.com>
|
|
|
|
allOf:
|
|
- $ref: can-controller.yaml#
|
|
|
|
properties:
|
|
compatible:
|
|
const: bosch,m_can
|
|
|
|
reg:
|
|
items:
|
|
- description: M_CAN registers map
|
|
- description: message RAM
|
|
|
|
reg-names:
|
|
items:
|
|
- const: m_can
|
|
- const: message_ram
|
|
|
|
interrupts:
|
|
items:
|
|
- description: interrupt line0
|
|
- description: interrupt line1
|
|
minItems: 1
|
|
|
|
interrupt-names:
|
|
items:
|
|
- const: int0
|
|
- const: int1
|
|
minItems: 1
|
|
|
|
clocks:
|
|
items:
|
|
- description: peripheral clock
|
|
- description: bus clock
|
|
|
|
clock-names:
|
|
items:
|
|
- const: hclk
|
|
- const: cclk
|
|
|
|
bosch,mram-cfg:
|
|
description: |
|
|
Message RAM configuration data.
|
|
Multiple M_CAN instances can share the same Message RAM
|
|
and each element(e.g Rx FIFO or Tx Buffer and etc) number
|
|
in Message RAM is also configurable, so this property is
|
|
telling driver how the shared or private Message RAM are
|
|
used by this M_CAN controller.
|
|
|
|
The format should be as follows:
|
|
<offset sidf_elems xidf_elems rxf0_elems rxf1_elems rxb_elems txe_elems txb_elems>
|
|
The 'offset' is an address offset of the Message RAM where
|
|
the following elements start from. This is usually set to
|
|
0x0 if you're using a private Message RAM. The remain cells
|
|
are used to specify how many elements are used for each FIFO/Buffer.
|
|
|
|
M_CAN includes the following elements according to user manual:
|
|
11-bit Filter 0-128 elements / 0-128 words
|
|
29-bit Filter 0-64 elements / 0-128 words
|
|
Rx FIFO 0 0-64 elements / 0-1152 words
|
|
Rx FIFO 1 0-64 elements / 0-1152 words
|
|
Rx Buffers 0-64 elements / 0-1152 words
|
|
Tx Event FIFO 0-32 elements / 0-64 words
|
|
Tx Buffers 0-32 elements / 0-576 words
|
|
|
|
Please refer to 2.4.1 Message RAM Configuration in Bosch
|
|
M_CAN user manual for details.
|
|
$ref: /schemas/types.yaml#/definitions/int32-array
|
|
items:
|
|
- description: The 'offset' is an address offset of the Message RAM where
|
|
the following elements start from. This is usually set to 0x0 if
|
|
you're using a private Message RAM.
|
|
default: 0
|
|
- description: 11-bit Filter 0-128 elements / 0-128 words
|
|
minimum: 0
|
|
maximum: 128
|
|
- description: 29-bit Filter 0-64 elements / 0-128 words
|
|
minimum: 0
|
|
maximum: 64
|
|
- description: Rx FIFO 0 0-64 elements / 0-1152 words
|
|
minimum: 0
|
|
maximum: 64
|
|
- description: Rx FIFO 1 0-64 elements / 0-1152 words
|
|
minimum: 0
|
|
maximum: 64
|
|
- description: Rx Buffers 0-64 elements / 0-1152 words
|
|
minimum: 0
|
|
maximum: 64
|
|
- description: Tx Event FIFO 0-32 elements / 0-64 words
|
|
minimum: 0
|
|
maximum: 32
|
|
- description: Tx Buffers 0-32 elements / 0-576 words
|
|
minimum: 0
|
|
maximum: 32
|
|
minItems: 1
|
|
|
|
power-domains:
|
|
description:
|
|
Power domain provider node and an args specifier containing
|
|
the can device id value.
|
|
maxItems: 1
|
|
|
|
can-transceiver:
|
|
$ref: can-transceiver.yaml#
|
|
|
|
phys:
|
|
maxItems: 1
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- reg-names
|
|
- interrupts
|
|
- interrupt-names
|
|
- clocks
|
|
- clock-names
|
|
- bosch,mram-cfg
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/clock/imx6sx-clock.h>
|
|
can@20e8000 {
|
|
compatible = "bosch,m_can";
|
|
reg = <0x020e8000 0x4000>, <0x02298000 0x4000>;
|
|
reg-names = "m_can", "message_ram";
|
|
interrupts = <0 114 0x04>, <0 114 0x04>;
|
|
interrupt-names = "int0", "int1";
|
|
clocks = <&clks IMX6SX_CLK_CANFD>,
|
|
<&clks IMX6SX_CLK_CANFD>;
|
|
clock-names = "hclk", "cclk";
|
|
bosch,mram-cfg = <0x0 0 0 32 0 0 0 1>;
|
|
|
|
can-transceiver {
|
|
max-bitrate = <5000000>;
|
|
};
|
|
};
|
|
|
|
...
|