
i2c_gpio0: i2c-gpio-0 {
	reg = <0 0 0 0>;
	compatible = "i2c-gpio";
	gpios = <&gpiom 14 0 /* sda */
		 &gpiom 15 0 /* scl */
		>;
	i2c-gpio,delay-us = <20>;        /* ~100 kHz */
	#address-cells = <1>;
	#size-cells = <0>;
	status = "disabled";
};

&i2c_gpio0 {
    status = "okay";
    ml56-tk@52 {
        status = "okay";
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_i2c_gpio0>;
        compatible = "nuvoton,ml56-tk";
        reg = <0x52>;
        reset-gpios = <&gpiom 1 GPIO_ACTIVE_LOW>;
        interrupt-parent = <&gpiok>;
        interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
        irq-gpios = <&gpiok 8 0x00>;
        ml56-tk,keymap = <10 KEY_A>, <11 KEY_B>;
    };
};

&pinctrl {
	pcfg_ml56_interrupt: pcfg-pcfg_ml56_interrupt {
			slew-rate = <0>; /* 0:normal, 1:high */
			input-schmitt-disable;  /* input-schmitt-disable, input-schmitt-enable */
			bias-pull-up; /* bias-disable, bias-pull-up, bias-pull-down  */
			power-source = <3300>; /* 1800:1.8v , 3300:3.3v */
			drive-strength = <3>; /* 0 ~ 7 */
	};

	pcfg_ml56_scl: pcfg-pcfg_ml56_sck {
			slew-rate = <0>;        /* 0:normal, 1:high */
			input-schmitt-disable;  /* input-schmitt-disable, input-schmitt-enable */
			bias-disable;           /* bias-disable, bias-pull-up, bias-pull-down  */
			power-source = <3300>;  /* 1800:1.8v , 3300:3.3v */
			drive-strength = <3>;   /* 0 ~ 7 */
	};

	pcfg_ml56_sda: pcfg-pcfg_ml56_sda {
			slew-rate = <0>;        /* 0:normal, 1:high */
			input-schmitt-disable;  /* input-schmitt-disable, input-schmitt-enable */
			bias-disable;           /* bias-disable, bias-pull-up, bias-pull-down  */
			power-source = <3300>;  /* 1800:1.8v , 3300:3.3v */
			drive-strength = <3>;   /* 0 ~ 7 */
	};

	pcfg_ml56_reset: pcfg-pcfg_ml56_reset {
			slew-rate = <0>;        /* 0:normal, 1:high */
			input-schmitt-disable;  /* input-schmitt-disable, input-schmitt-enable */
			bias-pull-up;           /* bias-disable, bias-pull-up, bias-pull-down  */
			power-source = <3300>;  /* 1800:1.8v , 3300:3.3v */
			drive-strength = <3>;   /* 0 ~ 7 */
	};
		
	i2c_gpio0 {
		pinctrl_i2c_gpio0: i2c_gpio0grp {
			nuvoton,pins =
			<SYS_GPK_MFPH_PK8MFP_GPIO       &pcfg_ml56_interrupt>,
			<SYS_GPM_MFPL_PM1MFP_GPIO       &pcfg_ml56_reset>,
			<SYS_GPM_MFPH_PM15MFP_GPIO      &pcfg_ml56_scl>,
			<SYS_GPM_MFPH_PM14MFP_GPIO      &pcfg_ml56_sda>;
		};
	};
};