/*
 * Copyright (c) 2023 Marcin Niestroj
 * SPDX-License-Identifier: Apache-2.0
 */

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

/ {
	st_morpho_header: st-morpho-header {
		compatible = "st-morpho-header";
		#gpio-cells = <2>;
		gpio-map-mask = <ST_MORPHO_PIN_MASK 0x0>;
		gpio-map-pass-thru = <0x0 GPIO_DT_FLAGS_MASK>;
		gpio-map = <ST_MORPHO_L_1 0 &gpioc 10 0>,
			   <ST_MORPHO_L_2 0 &gpioc 11 0>,
			   <ST_MORPHO_L_3 0 &gpioc 12 0>,
			   <ST_MORPHO_L_4 0 &gpiod 2 0>,
			   <ST_MORPHO_L_13 0 &gpioa 13 0>,
			   <ST_MORPHO_L_15 0 &gpioa 14 0>,
			   <ST_MORPHO_L_17 0 &gpioa 15 0>,
			   <ST_MORPHO_L_21 0 &gpiob 7 0>,
			   <ST_MORPHO_L_23 0 &gpioc 13 0>,
			   <ST_MORPHO_L_25 0 &gpioc 14 0>,
			   <ST_MORPHO_L_27 0 &gpioc 15 0>,
			   <ST_MORPHO_L_28 0 &gpioa 0 0>,
			   <ST_MORPHO_L_29 0 &gpioh 0 0>,
			   <ST_MORPHO_L_30 0 &gpioa 1 0>,
			   <ST_MORPHO_L_31 0 &gpioh 1 0>,
			   <ST_MORPHO_L_32 0 &gpioa 4 0>,
			   <ST_MORPHO_L_34 0 &gpiob 0 0>,
			   <ST_MORPHO_L_35 0 &gpioc 2 0>,
			   <ST_MORPHO_L_36 0 &gpioc 1 0>, /* SB56=ON, SB46=OFF */
			   <ST_MORPHO_L_37 0 &gpioc 3 0>,
			   <ST_MORPHO_L_38 0 &gpioc 0 0>, /* SB51=ON, SB52=OFF */
			   <ST_MORPHO_R_1 0 &gpioc 9 0>,
			   <ST_MORPHO_R_2 0 &gpioc 8 0>,
			   <ST_MORPHO_R_3 0 &gpiob 8 0>,
			   <ST_MORPHO_R_4 0 &gpioc 6 0>,
			   <ST_MORPHO_R_5 0 &gpiob 9 0>,
			   <ST_MORPHO_R_6 0 &gpioc 5 0>,
			   <ST_MORPHO_R_11 0 &gpioa 5 0>,
			   <ST_MORPHO_R_12 0 &gpioa 12 0>,
			   <ST_MORPHO_R_13 0 &gpioa 6 0>,
			   <ST_MORPHO_R_14 0 &gpioa 11 0>,
			   <ST_MORPHO_R_15 0 &gpioa 7 0>,
			   <ST_MORPHO_R_16 0 &gpiob 12 0>,
			   <ST_MORPHO_R_17 0 &gpiob 6 0>,
			   <ST_MORPHO_R_18 0 &gpiob 11 0>,
			   <ST_MORPHO_R_19 0 &gpioc 7 0>,
			   <ST_MORPHO_R_21 0 &gpioa 9 0>,
			   <ST_MORPHO_R_22 0 &gpiob 2 0>,
			   <ST_MORPHO_R_23 0 &gpioa 8 0>,
			   <ST_MORPHO_R_24 0 &gpiob 1 0>,
			   <ST_MORPHO_R_25 0 &gpiob 10 0>,
			   <ST_MORPHO_R_26 0 &gpiob 15 0>,
			   <ST_MORPHO_R_27 0 &gpiob 4 0>,
			   <ST_MORPHO_R_28 0 &gpiob 14 0>,
			   <ST_MORPHO_R_29 0 &gpiob 5 0>,
			   <ST_MORPHO_R_30 0 &gpiob 13 0>,
			   <ST_MORPHO_R_31 0 &gpiob 3 0>,
			   <ST_MORPHO_R_33 0 &gpioa 10 0>,
			   <ST_MORPHO_R_34 0 &gpioc 4 0>,
			   <ST_MORPHO_R_35 0 &gpioa 2 0>,
			   <ST_MORPHO_R_37 0 &gpioa 3 0>;
	};
};
