How did you build the dtb from dts ?
get the kernel source
apply patch
diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
index ac00e730f898..1bcbd98ed1c2 100644
--- a/arch/arm/boot/dts/bcm283x.dtsi
+++ b/arch/arm/boot/dts/bcm283x.dtsi
@@ -376,6 +376,14 @@
brcm,pins = <42 43>;
brcm,function = <BCM2835_FSEL_ALT5>;
};
+ 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 */
+ };
};
uart0: serial@7e201000 {
@@ -416,7 +424,29 @@
clocks = <&clocks BCM2835_CLOCK_VPU>;
#address-cells = <1>;
#size-cells = <0>;
- status = "disabled";
+ status = "okay";
+ /* Add alias */
+ dmas = <&dma 6>, <&dma 7>;
+ dma-names = "tx", "rx";
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi0_pins &spi0_cs_pins>;
+ 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 = <125000000>;
+ };
+
+ spidev1: spidev@1{
+ compatible = "spidev";
+ reg = <1>; /* CE1 */
+ #address-cells = <1>;
+ #size-cells = <0>;
+ spi-max-frequency = <125000000>;
+ };
};
i2c0: i2c@7e205000 {
cd arch/arm/boot/dts/
$CPP -I../../../../include -E -P -x assembler-with-cpp bcm2837-rpi-3-b.dts | dtc -I dts -O
dtb -o bcm2837-rpi-3-b.dtb -
sudo cp bcm2837-rpi-3-b.dtb
/boot/dtb-4.16.0-300.fc28.aarch64/broadcom/bcm2837-rpi-3-b.dtb
important note: i don't have a raspberry pi in front of me, this might not do anything
for you