/*
 * Copyright (c) 2020 Nordic Semiconductor ASA
 * SPDX-License-Identifier: Apache-2.0
 */

/* I2C bus pins are exposed on the ST morpho header.
 *
 *  Bus        SDA               SCL
 *          Pin   Hdr         Pin   Hdr
 *  i2c1    PB9   CN7:4      PB8   CN7:2
 *  i2c2    PB11  CN10:34    PB10  CN10:32
 *
 * Short Pin PB9 to PB11, and PB8 to PB10, for the test to pass.
 */

&i2c2 {
	pinctrl-0 = <&i2c2_scl_pf1 &i2c2_sda_pf0>;
	pinctrl-names = "default";
	status = "okay";
	eeprom0: eeprom@54 {
		compatible = "zephyr,i2c-target-eeprom";
		reg = <0x54>;
		size = <1024>;
	};
};

&i2c1 {
	pinctrl-0 = <&i2c1_scl_pb8 &i2c1_sda_pb9>;
	pinctrl-names = "default";
	status = "okay";
	eeprom1: eeprom@56 {
		compatible = "zephyr,i2c-target-eeprom";
		reg = <0x56>;
		size = <1024>;
	};
};
