c6763bd2ca
This implements basic driver to utilize the I3C IP block on NPCX. 1. I3C mode: Main controller mode only. 2. Transfer: Support SDR only. 3. IBI: Support Hot-Join, IBI(MDB). Controller request is not supported. 4. Support 3 I3C modules: I3C1(3.3V), I3C2(1.8V, espi mode), (I3C3 1.8V or 3.3V) Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
53 lines
1.3 KiB
YAML
53 lines
1.3 KiB
YAML
# 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>;
|
|
};
|
|
|
|
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.
|