# 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 = ; /* 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 = */ * 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.