# Copyright (c) 2021 Nuvoton Technology Corporation.
# SPDX-License-Identifier: Apache-2.0

description: Nuvoton NPCX pads configuration map between Pin Mux controller and
             Power Switch Logic (PSL) controller driver instances.

compatible: "nuvoton,npcx-pslctrl-conf"

child-binding:
   description: Child node to present the mapping between pin-mux controller
                and its power switch logic (PSL) support
   properties:
      offset:
         type: int
         required: true
         description: Offset in PSL_CTS for status and detection mode.

      pinctrl-0:
         type: phandles
         required: true
         description: Pinmux controller configuration for PSL io pads.

      polarity-0:
         type: phandles
         required: true
         description: Active polarity configuration for PSL io pads.

      flag:
         type: int
         required: false
         description: |
            Detection mode and type for wake-up event detection.
            5 = Configures PSL input in detecting rising edge.
            6 = Configures PSL input in in detecting level high state.
            9 = Configures PSL input in detecting falling edge.
            10 = Configures PSL input in detecting level low state.
         enum:
            - 5
            - 6
            - 9
            - 10
