// SPDX-License-Identifier: GPL-2.0+

#include <stm32h7-u-boot.dtsi>

&fmc {

	/*
	 * Memory configuration from sdram datasheet IS42S32800G-6BLI
	 * first bank is bank@0
	 * second bank is bank@1
	 */
	bank1: bank@1 {
		st,sdram-control = /bits/ 8 <NO_COL_9
					     NO_ROW_12
					     MWIDTH_32
					     BANKS_4
					     CAS_2
					     SDCLK_3
					     RD_BURST_EN
					     RD_PIPE_DL_0>;
		st,sdram-timing = /bits/ 8 <TMRD_1
					    TXSR_1
					    TRAS_1
					    TRC_6
					    TRP_2
					    TWR_1
					    TRCD_1>;
		st,sdram-refcount = <1539>;
	};
};

&pinctrl {
	fmc_pins: fmc@0 {
		pins {
			pinmux = <STM32_PINMUX('D', 0, AF12)>,
				 <STM32_PINMUX('D', 1, AF12)>,
				 <STM32_PINMUX('D', 8, AF12)>,
				 <STM32_PINMUX('D', 9, AF12)>,
				 <STM32_PINMUX('D',10, AF12)>,
				 <STM32_PINMUX('D',14, AF12)>,
				 <STM32_PINMUX('D',15, AF12)>,

				 <STM32_PINMUX('E', 0, AF12)>,
				 <STM32_PINMUX('E', 1, AF12)>,
				 <STM32_PINMUX('E', 7, AF12)>,
				 <STM32_PINMUX('E', 8, AF12)>,
				 <STM32_PINMUX('E', 9, AF12)>,
				 <STM32_PINMUX('E',10, AF12)>,
				 <STM32_PINMUX('E',11, AF12)>,
				 <STM32_PINMUX('E',12, AF12)>,
				 <STM32_PINMUX('E',13, AF12)>,
				 <STM32_PINMUX('E',14, AF12)>,
				 <STM32_PINMUX('E',15, AF12)>,

				 <STM32_PINMUX('F', 0, AF12)>,
				 <STM32_PINMUX('F', 1, AF12)>,
				 <STM32_PINMUX('F', 2, AF12)>,
				 <STM32_PINMUX('F', 3, AF12)>,
				 <STM32_PINMUX('F', 4, AF12)>,
				 <STM32_PINMUX('F', 5, AF12)>,
				 <STM32_PINMUX('F',11, AF12)>,
				 <STM32_PINMUX('F',12, AF12)>,
				 <STM32_PINMUX('F',13, AF12)>,
				 <STM32_PINMUX('F',14, AF12)>,
				 <STM32_PINMUX('F',15, AF12)>,

				 <STM32_PINMUX('G', 0, AF12)>,
				 <STM32_PINMUX('G', 1, AF12)>,
				 <STM32_PINMUX('G', 2, AF12)>,
				 <STM32_PINMUX('G', 4, AF12)>,
				 <STM32_PINMUX('G', 5, AF12)>,
				 <STM32_PINMUX('G', 8, AF12)>,
				 <STM32_PINMUX('G',15, AF12)>,

				 <STM32_PINMUX('H', 5, AF12)>,
				 <STM32_PINMUX('H', 6, AF12)>,
				 <STM32_PINMUX('H', 7, AF12)>,
				 <STM32_PINMUX('H', 8, AF12)>,
				 <STM32_PINMUX('H', 9, AF12)>,
				 <STM32_PINMUX('H',10, AF12)>,
				 <STM32_PINMUX('H',11, AF12)>,
				 <STM32_PINMUX('H',12, AF12)>,
				 <STM32_PINMUX('H',13, AF12)>,
				 <STM32_PINMUX('H',14, AF12)>,
				 <STM32_PINMUX('H',15, AF12)>,

				 <STM32_PINMUX('I', 0, AF12)>,
				 <STM32_PINMUX('I', 1, AF12)>,
				 <STM32_PINMUX('I', 2, AF12)>,
				 <STM32_PINMUX('I', 3, AF12)>,
				 <STM32_PINMUX('I', 4, AF12)>,
				 <STM32_PINMUX('I', 5, AF12)>,
				 <STM32_PINMUX('I', 6, AF12)>,
				 <STM32_PINMUX('I', 7, AF12)>,
				 <STM32_PINMUX('I', 9, AF12)>,
				 <STM32_PINMUX('I',10, AF12)>;

			slew-rate = <3>;
		};
	};
};