/*
 * 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_7 0 &gpioh 3 0>,
			   <ST_MORPHO_L_13 0 &gpioa 13 0>, /* shared with SWD connected to STLINK */
			   <ST_MORPHO_L_15 0 &gpioa 14 0>, /* shared with SWD connected to STLINK */
			   <ST_MORPHO_L_17 0 &gpioa 15 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 &gpiob 1 0>,
			   <ST_MORPHO_L_30 0 &gpiob 2 0>,
			   <ST_MORPHO_L_32 0 &gpioa 10 0>,
			   <ST_MORPHO_L_34 0 &gpiob 4 0>,
			   <ST_MORPHO_L_36 0 &gpiob 14 0>,
			   <ST_MORPHO_L_38 0 &gpiob 13 0>,

			   <ST_MORPHO_R_1 0 &gpioa 0 0>,
			   <ST_MORPHO_R_2 0 &gpioc 4 0>,
			   <ST_MORPHO_R_3 0 &gpioa 12 0>,
			   <ST_MORPHO_R_4 0 &gpioc 5 0>,
			   <ST_MORPHO_R_5 0 &gpioa 11 0>,
			   <ST_MORPHO_R_11 0 &gpioa 5 0>,
			   <ST_MORPHO_R_12 0 &gpioc 6 0>,
			   <ST_MORPHO_R_13 0 &gpioa 6 0>,
			   <ST_MORPHO_R_14 0 &gpioc 0 0>,
			   <ST_MORPHO_R_15 0 &gpioa 7 0>,
			   <ST_MORPHO_R_16 0 &gpioa 8 0>,
			   <ST_MORPHO_R_17 0 &gpioa 4 0>,
			   <ST_MORPHO_R_19 0 &gpioa 9 0>,
			   <ST_MORPHO_R_21 0 &gpioc 2 0>,
			   <ST_MORPHO_R_22 0 &gpiob 0 0>,
			   <ST_MORPHO_R_23 0 &gpioc 1 0>,
			   <ST_MORPHO_R_25 0 &gpiob 10 0>,
			   <ST_MORPHO_R_26 0 &gpiob 9 0>,
			   <ST_MORPHO_R_27 0 &gpiob 8 0>,
			   <ST_MORPHO_R_28 0 &gpiob 15 0>,
			   <ST_MORPHO_R_29 0 &gpiob 5 0>,
			   <ST_MORPHO_R_30 0 &gpiob 11 0>,
			   <ST_MORPHO_R_31 0 &gpiob 3 0>,
			   <ST_MORPHO_R_33 0 &gpiob 12 0>,
			   <ST_MORPHO_R_35 0 &gpiob 6 0>, /* SB7=ON, SB2=OFF, SB6=OFF */
			   <ST_MORPHO_R_36 0 &gpioa 1 0>,
			   <ST_MORPHO_R_37 0 &gpiob 7 0>, /* SB9=ON, SB4=OFF, SB10=OFF */
			   <ST_MORPHO_R_38 0 &gpioc 3 0>;
	};
};
