Es wäre ja schön, wenn man mal einen vernünftigen Kernel in die Hand bekommen würde. Der Stand der Dinge, so wie meine Info's sind.

Ein funktionierender U-Boot: https://github.com/wens/u-boot-sunxi/commits/r40

Ein unfertiges Linux vom Stefan T. https://github.com/a1d3s/linux Danke für die Arbeit!

Ein GB RAM wird erkannt, die serielle Konsole funktioniert, das war es. Noch nicht wirklich viel, aber es geht ganz langsam vorwärts.

Das DTB-File vom Stefan scheint auch noch nicht ganz zu funktionieren. Moment, DTB-File? Was zur Hölle ist das? Ein DTB-File enthält sämtliche Hardwareinformationen des benutzten Boards. Diese werden beim Start im RAM abgelegt und dann an den Kernel vom u-boot weitergegeben. Ganz schwieriges Thema für mich, aber man lernt nur wenn man sich mit was beschäftigt ;)  

/ {
  model = "Banana Pi BPI-M2-Ultra";
  compatible = "sinovoip,bpi-m2-ultra", "allwinner,sun8i-r40";
   
   
  aliases {
  serial0 = &uart0;
  serial1 = &uart1;
  };
   
  chosen {
  stdout-path = "serial0:115200n8";
  };
   
  leds {
  compatible = "gpio-leds";
  pinctrl-names = "default";
  pinctrl-0 = <&pwr_led_bpi_m2u>;
   
  pwr_led {
  label = "bananapi-m2-ultra:red:pwr";
  gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; /* PL10 */
  default-state = "on";
  };
  };
   
  gpio_keys {
  compatible = "gpio-keys";
  pinctrl-names = "default";
  pinctrl-0 = <&sw_r_bpi_m2u>;
   
  sw4 {
  label = "power";
  linux,code = <BTN_0>;
  gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>;
  };
  };
   
  wifi_pwrseq: wifi_pwrseq {
  compatible = "mmc-pwrseq-simple";
  pinctrl-names = "default";
  pinctrl-0 = <&wifi_en_bpi_m2u>;
  reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
  };
  };
   
  &ehci1 {
  status = "okay";
  };
   
  &ehci2 {
  status = "okay";
  };
   
  &ir {
  pinctrl-names = "default";
  pinctrl-0 = <&ir_pins_a>;
  status = "okay";
  };
   
  &mmc0 {
  pinctrl-names = "default";
  pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
  vmmc-supply = <&reg_vcc3v3>;
  bus-width = <4>;
  cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */
  cd-inverted;
  status = "okay";
  };
   
  &mmc1 {
  pinctrl-names = "default";
  pinctrl-0 = <&mmc1_pins_a>;
  vmmc-supply = <&reg_vcc3v3>;
  vqmmc-supply = <&reg_vcc3v3>;
  mmc-pwrseq = <&wifi_pwrseq>;
  bus-width = <4>;
  non-removable;
  status = "disabled";
   
  brcmf: bcrmf@1 {
  reg = <1>;
  compatible = "brcm,bcm4329-fmac";
  interrupt-parent = <&pio>;
  interrupts = <6 6 IRQ_TYPE_LEVEL_LOW>; /* PG6 / EINT10 */
  interrupt-names = "host-wake";
  };
  };
   
  &mmc2 {
  pinctrl-names = "default";
  pinctrl-0 = <&mmc2_8bit_pins>;
  vmmc-supply = <&reg_vcc3v3>;
  vqmmc-supply = <&reg_vcc3v3>;
  bus-width = <4>;
  non-removable;
  status = "okay";
  };
   
  &ohci1 {
  status = "okay";
  };
   
  &ohci2 {
  status = "okay";
  };
   
  &r_pio {
  pwr_led_bpi_m2u: led_pins@0 {
  allwinner,pins = "PL10";
  allwinner,function = "gpio_out";
  allwinner,drive = <SUN4I_PINCTRL_10_MA>;
  allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
  };
   
  sw_r_bpi_m2u: key_pins@0 {
  allwinner,pins = "PL3";
  allwinner,function = "gpio_in";
  allwinner,drive = <SUN4I_PINCTRL_10_MA>;
  allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
  };
   
  wifi_en_bpi_m2u: wifi_en_pin {
  allwinner,pins = "PL7";
  allwinner,function = "gpio_out";
  allwinner,drive = <SUN4I_PINCTRL_10_MA>;
  allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
  };
  };
   
  &uart0 {
  pinctrl-names = "default";
  pinctrl-0 = <&uart0_pins_a>;
  status = "okay";
  };
   
  &uart1 {
  pinctrl-names = "default";
  pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
  status = "okay";
  };
   
  &usbphy {
  /* USB VBUS is on as long as VCC-IO is on */
  status = "okay";
  }; 

Gut, was wissen wir? Ein u-boot der funktioniert, schon mal ganz wichtig sonst bootet die Kiste gar nicht ;) Ein DTB-File mit viel Raum für Verbesserungen. 

 

Wenn jemand von solchen Sachen richtig Ahnung hat und einen BananaPi M2-Ultra zum Testen braucht, ich stelle gerne einen zur Verfügung. Kontakt

 

Liebe Fachleute, ich weiß das ich davon null Ahnung habe :)

 

Weitere Links:

http://linux-sunxi.org/Sinovoip_Banana_Pi_M2_Ultra

https://github.com/dan-and/BPI-M2U-bsp/commits/master Daniel's Fork von Sinovoip's Linux 3.10.x um das auf einen vernünftigen Stand zu bringen.

 

Hersteller-Links:

https://github.com/BPI-SINOVOIP/BPI-M2U-bsp

https://bananapi.gitbooks.io/bpi-m2-ultra-open-source-single-board-computer/content/chapter1.html