/*
 * Copyright (c) 2020 Nuvoton Technology Corporation.
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/ {
	def-lvol-conf-list {
		compatible = "nuvoton,npcx-lvolctrl-conf";

		/* Low-Voltage IO Control 0 */
		lvol_iob5: lvol00 {
			lvols = <&scfg 0x0b 5 0 0>;
		};
		lvol_iob4: lvol01 {
			lvols = <&scfg 0x0b 4 0 1>;
		};
		lvol_iob3: lvol02 {
			lvols = <&scfg 0x0b 3 0 2>;
		};
		lvol_iob2: lvol03 {
			lvols = <&scfg 0x0b 2 0 3>;
		};
		lvol_io90: lvol04 {
			lvols = <&scfg 0x09 0 0 4>;
		};
		lvol_io87: lvol05 {
			lvols = <&scfg 0x08 7 0 5>;
		};
		lvol_io00: lvol06 {
			lvols = <&scfg 0x00 0 0 6>;
		};
		lvol_io33: lvol07 {
			lvols = <&scfg 0x03 3 0 7>;
		};

		/* Low-Voltage IO Control 1 */
		lvol_io92: lvol10 {
			lvols = <&scfg 0x09 2 1 0>;
		};
		lvol_io91: lvol11 {
			lvols = <&scfg 0x09 1 1 1>;
		};
		lvol_iod1: lvol12 {
			lvols = <&scfg 0x0d 1 1 2>;
		};
		lvol_iod0: lvol13 {
			lvols = <&scfg 0x0d 0 1 3>;
		};
		lvol_io36: lvol14 {
			lvols = <&scfg 0x03 6 1 4>;
		};
		lvol_io64: lvol15 {
			lvols = <&scfg 0x06 4 1 5>;
		};

		/* Low-Voltage IO Control 2 */
		lvol_io74: lvol20 {
			lvols = <&scfg 0x07 4 2 0>;
		};
		lvol_io73: lvol23 {
			lvols = <&scfg 0x07 3 2 3>;
		};
		lvol_ioc1: lvol24 {
			lvols = <&scfg 0x0c 1 2 4>;
		};
		lvol_ioc7: lvol25 {
			lvols = <&scfg 0x0c 7 2 5>;
		};
		lvol_io34: lvol27 {
			lvols = <&scfg 0x03 4 2 7>;
		};

		/* Low-Voltage IO Control 3 */
		lvol_ioc6: lvol30 {
			lvols = <&scfg 0x0c 6 3 0>;
		};
		lvol_io37: lvol31 {
			lvols = <&scfg 0x03 7 3 1>;
		};
		lvol_io40: lvol32 {
			lvols = <&scfg 0x04 0 3 2>;
		};
		lvol_io82: lvol34 {
			lvols = <&scfg 0x08 2 3 4>;
		};
		lvol_io75: lvol35 {
			lvols = <&scfg 0x07 5 3 5>;
		};
		lvol_io80: lvol36 {
			lvols = <&scfg 0x08 0 3 6>;
		};
		lvol_ioc5: lvol37 {
			lvols = <&scfg 0x0c 5 3 7>;
		};

		/* Low-Voltage IO Control 4 */
		lvol_io86: lvol40 {
			lvols = <&scfg 0x08 6 4 0>;
		};
		lvol_ioc2: lvol41 {
			lvols = <&scfg 0x0c 2 4 1>;
		};
		lvol_iof3: lvol42 {
			lvols = <&scfg 0x0f 3 4 2>;
		};
		lvol_iof2: lvol43 {
			lvols = <&scfg 0x0f 2 4 3>;
		};
		lvol_iof5: lvol44 {
			lvols = <&scfg 0x0f 5 4 4>;
		};
		lvol_iof4: lvol45 {
			lvols = <&scfg 0x0f 4 4 5>;
		};
		lvol_ioe4: lvol46 {
			lvols = <&scfg 0x0e 4 4 6>;
		};
		lvol_ioe6: lvol47 {
			lvols = <&scfg 0x0e 6 4 7>;
		};

		/* Low-Voltage IO Control 5 */
		lvol_io72: lvol50 {
			lvols = <&scfg 0x07 2 5 0>;
		};
		lvol_io50: lvol53 {
			lvols = <&scfg 0x05 0 5 3>;
		};
	};
};
