Electron752さんがBootとLinuxをGitHubにアップしています。
enable-method = "spin-table";なので、psciはサポートされていません。
bcm2837-rpi-3-b.dtsの内容は、
RPI364を定義し、下記のように追加しています。
/dts-v1/; #define RPI364 #include "../../../../arm/boot/dts/bcm2710-rpi-3-b.dtsi"なので、32ビット用のdtsiを読み込んでいますが、
RPI364を定義し、下記のように追加しています。
引用 #ifdef RPI364 /memreserve/ 0x00000000 0x00001000; #endif #include "bcm2710.dtsi" / { #ifdef RPI364 #else compatible = "brcm,bcm2710","brcm,bcm2709","brcm,bcm2837","brcm,bcm2708"; #endif model = "Raspberry Pi 3 Model B"; }; &gpio { #ifdef RPI364 pinctrl-0 = <&sdhost_pins &sdio_pins &bt_pins &uart0_pins &uart1_pins>; #endif sdhost_pins: sdhost_pins { brcm,pins = <48 49 50 51 52 53>; brcm,function = <4>; /* alt0 */ }; spi0_pins: spi0_pins { brcm,pins = <9 10 11>; brcm,function = <4>; /* alt0 */ }; spi0_cs_pins: spi0_cs_pins { brcm,pins = <8 7>; brcm,function = <1>; /* output */ }; i2c0_pins: i2c0 { brcm,pins = <0 1>; brcm,function = <4>; }; i2c1_pins: i2c1 { brcm,pins = <2 3>; brcm,function = <4>; }; i2s_pins: i2s { brcm,pins = <18 19 20 21>; brcm,function = <4>; /* alt0 */ }; sdio_pins: sdio_pins { brcm,pins = <34 35 36 37 38 39>; brcm,function = <7>; // alt3 = SD1 brcm,pull = <0 2 2 2 2 2>; }; bt_pins: bt_pins { brcm,pins = <43>; brcm,function = <4>; /* alt0:GPCLK2 */ brcm,pull = <0>; }; uart0_pins: uart0_pins { brcm,pins = <32 33>; brcm,function = <7>; /* alt3=UART0 */ brcm,pull = <0 2>; }; uart1_pins: uart1_pins { brcm,pins; brcm,function; brcm,pull; }; }; &sdhost { #ifndef RPI364 pinctrl-names = "default"; pinctrl-0 = <&sdhost_pins>; #endif bus-width = <4>; #ifndef RPI364 status = "okay"; #endif }; &mmc { #ifndef RPI364 pinctrl-names = "default"; pinctrl-0 = <&sdio_pins>; #endif non-removable; bus-width = <4>; status = "okay"; brcm,overclock-50 = <0>; }; &soc { virtgpio: virtgpio { compatible = "brcm,bcm2835-virtgpio"; gpio-controller; #gpio-cells = <2>; firmware = <&firmware>; status = "okay"; }; }; &fb { status = "okay"; }; &uart0 { #ifndef RPI364 pinctrl-names = "default"; pinctrl-0 = <&uart0_pins &bt_pins>; #endif status = "okay"; }; &uart1 { #ifndef RPI364 pinctrl-names = "default"; pinctrl-0 = <&uart1_pins>; #endif status = "okay"; }; &spi0 { #ifndef RPI364 pinctrl-names = "default"; pinctrl-0 = <&spi0_pins &spi0_cs_pins>; #endif cs-gpios = <&gpio 8 1>, <&gpio 7 1>; spidev0: spidev@0{ compatible = "spidev"; reg = <0>; /* CE0 */ #address-cells = <1>; #size-cells = <0>; spi-max-frequency = <500000>; }; spidev1: spidev@1{ compatible = "spidev"; reg = <1>; /* CE1 */ #address-cells = <1>; #size-cells = <0>; spi-max-frequency = <500000>; }; }; &i2c0 { #ifndef RPI364 pinctrl-names = "default"; pinctrl-0 = <&i2c0_pins>; #endif clock-frequency = <100000>; }; &i2c1 { #ifndef RPI364 pinctrl-names = "default"; pinctrl-0 = <&i2c1_pins>; #endif clock-frequency = <100000>; }; &i2c2 { clock-frequency = <100000>; }; &i2s { #sound-dai-cells = <0>; #ifndef RPI364 pinctrl-names = "default"; pinctrl-0 = <&i2s_pins>; #endif }; &random { status = "okay"; }; &leds { act_led: act { label = "led0"; linux,default-trigger = "mmc0"; gpios = <&virtgpio 0 0>; }; }; / { chosen { bootargs = "8250.nr_uarts=1"; }; }; / { __overrides__ { uart0 = <&uart0>,"status"; uart0_clkrate = <&clk_uart0>,"clock-frequency:0"; uart1 = <&uart1>,"status"; i2s = <&i2s>,"status"; spi = <&spi0>,"status"; i2c0 = <&i2c0>,"status"; i2c1 = <&i2c1>,"status"; i2c2_iknowwhatimdoing = <&i2c2>,"status"; i2c0_baudrate = <&i2c0>,"clock-frequency:0"; i2c1_baudrate = <&i2c1>,"clock-frequency:0"; i2c2_baudrate = <&i2c2>,"clock-frequency:0"; core_freq = <&clk_core>,"clock-frequency:0"; act_led_gpio = <&act_led>,"gpios:4"; act_led_activelow = <&act_led>,"gpios:8"; act_led_trigger = <&act_led>,"linux,default-trigger"; audio = <&audio>,"status"; watchdog = <&watchdog>,"status"; random = <&random>,"status"; sd_overclock = <&sdhost>,"brcm,overclock-50:0"; sd_force_pio = <&sdhost>,"brcm,force-pio?"; sd_pio_limit = <&sdhost>,"brcm,pio-limit:0"; sd_debug = <&sdhost>,"brcm,debug"; }; };