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


&led0 {
	gpios = <&gpio2 9 GPIO_ACTIVE_HIGH>;
};

&led1 {
	gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
};

&led2 {
	gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
};

&led3 {
	gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
};

&button0 {
	gpios = <&gpio1 13 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
};

&button1 {
	gpios = <&gpio1 9 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
};

&button2 {
	gpios = <&gpio1 8 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
};

&button3 {
	gpios = <&gpio0 4 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
};
