@@ -313,6 +313,13 @@ static void __init at91sam9x5_map_io(void)
at91_init_sram(0, AT91SAM9X5_SRAM_BASE, AT91SAM9X5_SRAM_SIZE);
}
+
+void __init at91sam9x5_initialize(void)
+{
+ /* Register GPIO subsystem (using DT) */
+ at91_gpio_init(NULL, 0);
+}
+
/* --------------------------------------------------------------------
* Interrupt initialization
* -------------------------------------------------------------------- */
@@ -320,4 +327,5 @@ static void __init at91sam9x5_map_io(void)
struct at91_init_soc __initdata at91sam9x5_soc = {
.map_io = at91sam9x5_map_io,
.register_clocks = at91sam9x5_register_clocks,
+ .init = at91sam9x5_initialize,
};
I also enabled the spi controller in the DTS:
b/arch/arm/boot/dts/at91sam9x5.dtsi
@@ -363,7 +363,7 @@
atc_fifocfg_halffifo;
atc_src_h2sel_hw;
atc_dst_h2sel_hw;
- status = "disabled";
+ status = "okay";
};
spi1: spi@f0004000 {