/*
 * Copyright (c) 2023 Vestas Wind Systems A/S
 *
 * SPDX-License-Identifier: Apache-2.0
*/

#include <zephyr/dt-bindings/gpio/gpio.h>

/ {
     zephyr,user {
             output-high-gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
             output-low-gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
             input-gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
     };
};

&gpio0 {
	hog1 {
		gpio-hog;
		gpios = <13 GPIO_ACTIVE_LOW>;
		output-high;
	};

	hog2 {
		gpio-hog;
		gpios = <14 GPIO_ACTIVE_HIGH>;
		output-low;
	};

	hog3 {
		gpio-hog;
		gpios = <11 GPIO_ACTIVE_LOW>;
		input;
	};
};
