blob: 158ebb37c0dbee120a278ae5f7c249e3555817d7 [file] [log] [blame]
# Copyright (c) 2024 Nuvoton Technology Corporation.
# SPDX-License-Identifier: Apache-2.0
description: |
Nuvoton I3C controller
Representation:
/* If CONFIG_I3C_NPCX is enabled, the suggested clock configuration is as follows: */
&pcc {
clock-frequency = <DT_FREQ_M(90)>; /* OFMCLK runs at 90MHz */
core-prescaler = <3>; /* CORE_CLK runs at 30MHz */
apb1-prescaler = <6>; /* APB1_CLK runs at 15MHz */
apb2-prescaler = <6>; /* APB2_CLK runs at 15MHz */
apb3-prescaler = <6>; /* APB3_CLK runs at 15MHz */
apb4-prescaler = <3>; /* APB4_CLK runs at 30MHz */
};
&rst {
status = "okay";
};
&i3c0 {
status = "okay";
/* I3C clock frequency suggestion = <PP_SCL, OD_SCL> */
* Full speed = <12500000, 4170000>
* Normal speed = <7500000, 1500000>
*/
i3c-scl-hz = <12500000>;
i3c-od-scl-hz = <4170000>;
bcr = <0x67>; /* Set for controller mode */
};
compatible: "nuvoton,npcx-i3c"
include: [i3c-controller.yaml, pinctrl-device.yaml, reset-device.yaml]
properties:
reg:
required: true
interrupts:
required: true
resets:
required: true
i3c-od-scl-hz:
type: int
description: |
Open Drain Frequency for the I3C controller. When undefined, use
the controller default or as specified by the I3C specification.
instance-id:
required: true
type: int
description: |
Instance ID of the device, used to specify port number.
Bit[7:4] module id.
Bit[3:0] port id.
secondary:
type: boolean
description: Initialized as a secondary controller.
static-address:
type: int
description: |
Target static address.
tgt-pid:
type: array
description: |
Target 48-bit Provisioned ID.
array[0]: PID[47:33] MIPI manufacturer ID.
PID[32] ID type selector (i'b1 ramdom value, 1'b0 vendor fixed).
array[1]: PID[31:0] Random value or vendor fixed value.
bcr:
required: true
type: int
description: |
Bus Characteristics Register, used for bus enumeration with ENTDAA and
determine device role and capabilities of the device on the bus.
dcr:
type: int
description: |
Device Characteristics Register, used for bus enumeration with ENTDAA.
maximum-write:
type: int
default: 4095
description: |
Maximum number of bytes that I3C controller may write to I3C target per message.
Range: 8 to 4095.
maximum-read:
type: int
default: 4095
description: |
Maximum number of bytes that I3C controller may read from to I3C target per message.
Range: 8 to 4095.