不废话
主线5.2.0 想挂个FRAM CS选的PB2
单独的FRAM 或者 单独的SPI NAND都是可以的,但是同时就是不行
DTS
&pio {
spi0_cs_pins: spi0_cs_pins {
pins = "PC2", "PB2";
function = "gpio_out";
};
};
&spi0 {
/* needed to avoid dtc warning */
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins &spi0_cs_pins>;
cs-gpios = <&pio 2 2 GPIO_ACTIVE_HIGH>, <&pio 1 2 GPIO_ACTIVE_HIGH>;
spi_nand: spi_nand@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "spi-nand";
reg = <0>;
spi-max-frequency = <50000000>;
partition@0 {
label = "uboot";
reg = <0x0 0x100000>;
read-only;
};
partition@100000 {
label = "dtb";
reg = <0x100000 0x20000>;
read-only;
};
partition@120000 {
label = "kernel";
reg = <0x120000 0x800000>;
read-only;
};
partition@920000 {
label = "rootfs";
reg = <0x920000 0x79E0000>;
};
};
mb85rs256:mb85rs2mta@0 {
compatible = "jedec,spi-nor";
reg = <0x0>;
spi-max-frequency = <25000000>;
#address-cells = <1>;
#size-cells = <1>;
};
};
LOG:
0.791005] printk: console [ttyS0] enabled
[ 0.816903] 1c28800.serial: ttyS1 at MMIO 0x1c28800 (irq = 34, base_baud = 1500000) is a U6_16550A
[ 0.852444] sun8i-v3s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pc not found, using dummy regulator
[ 0.864037] spi-nand spi0.0: GigaDevice SPI NAND was found.
[ 0.869702] spi-nand spi0.0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 128
[ 0.878622] 4 fixed-partitions partitions found on MTD device spi0.0
[ 0.885073] Creating 4 MTD partitions on "spi0.0":
[ 0.889908] 0x000000000000-0x000000100000 : "uboot"
[ 0.897741] 0x000000100000-0x000000120000 : "dtb"
[ 0.903663] 0x000000120000-0x000000920000 : "kernel"
[ 0.909452] random: fast init done
[ 0.928650] 0x000000920000-0x000008300000 : "rootfs"
[ 0.933722] mtd: partition "rootfs" extends beyond the end of device "spi0.0" -- size truncated to 0x76e0000
[ 1.081055] random: crng init done
[ 1.177988] sun6i-spi 1c68000.spi: chipselect 0 already in use
[ 1.183898] spi_master spi0: spi_device register error /soc/spi@1c68000/mb85rs2mta@0
[ 1.191667] spi_master spi0: Failed to create SPI device for /soc/spi@1c68000/mb85rs2mta@0
我已经参考了
H5的spi控制器驱动, 可以通过 gpio 控制 spi 片选 (转载)
最近编辑记录 ronz (2022-07-15 18:38:32)
离线
谢大佬指点,不在报cs占用了
m25p80 spi0.0: unrecognized JEDEC id bytes: 04 c8 51 c8 51 c8
这个 ID是 nand flash,不是FRAM的
难道FRAM的频率有点低?他datasheet最大是45
我设置的25.....
离线
搞定了 谢谢大佬
&pio {
spi0_cs_pins: spi0_cs_pins {
pins = "PC2", "PB2";
function = "gpio_out";
};
};
&spi0 {
/ needed to avoid dtc warning /
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins &spi0_cs_pins>;
cs-gpios = <&pio 2 2 GPIO_ACTIVE_HIGH>, <&pio 1 2 GPIO_ACTIVE_HIGH>;
spi_nand: spi_nand@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "spi-nand";
reg = <0x0>;
spi-max-frequency = <50000000>;
partition@0 {
label = "uboot";
reg = <0x0 0x100000>;
read-only;
};
partition@100000 {
label = "dtb";
reg = <0x100000 0x20000>;
read-only;
};
partition@120000 {
label = "kernel";
reg = <0x120000 0x800000>;
read-only;
};
partition@920000 {
label = "rootfs";
reg = <0x920000 0x79E0000>;
};
};
mb85rs256:mb85rs2mta@1 {
compatible = "jedec,spi-nor";
reg = <0x1>;
spi-max-frequency = <45000000>;
#address-cells = <1>;
#size-cells = <1>;
};
};
LOG
[ 0.853517] sun8i-v3s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pc not found, using dummy regulator
[ 0.865110] spi-nand spi0.0: GigaDevice SPI NAND was found.
[ 0.870780] spi-nand spi0.0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 128
[ 0.879806] 4 fixed-partitions partitions found on MTD device spi0.0
[ 0.886165] Creating 4 MTD partitions on "spi0.0":
[ 0.891040] 0x000000000000-0x000000100000 : "uboot"
[ 0.898358] 0x000000100000-0x000000120000 : "dtb"
[ 0.904275] 0x000000120000-0x000000920000 : "kernel"
[ 0.910170] random: fast init done
[ 0.929055] 0x000000920000-0x000008300000 : "rootfs"
[ 0.934131] mtd: partition "rootfs" extends beyond the end of device "spi0.0" -- size truncated to 0x76e0000
[ 1.081048] random: crng init done
[ 1.177381] m25p80 spi0.1: mb85rs2mta (256 Kbytes)
[ 1.183734] usbcore: registered new interface driver rndis_wlan
[ 1.190289] usbcore: registered new interface driver cdc_ether
[ 1.196164] usbcore: registered new interface driver rndis_host
[ 1.202158] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.208680] ehci-platform: EHCI generic platform driver
[ 1.214235] ehci-platform 1c1a000.usb: EHCI Host Controller
[ 1.219914] ehci-platform 1c1a000.usb: new USB bus registered, assigne
离线