Firefly开源社区

12
发表新贴
打印 上一主题 下一主题

[Linux] ITX-3588J

112

积分

0

威望

0

贡献

技术小白

积分
112
发表于 2023-5-13 09:32:00        只看该作者  11#
优先你要先确定你配置的设备树节点,在 uboot 阶段是否给正确 probe 了,因为在 uboot 阶段,设备的 probe 是需要手动调用 probe 函数的,和 kenrel 的自动调用不一样。

rk3588 的 sf 是支持 winbond 的 flash 的。
回复

使用道具 举报

125

积分

0

威望

0

贡献

技术小白

积分
125
发表于 2023-5-18 20:05:32        只看该作者  12#
Oliver_Li 发表于 2023-5-13 09:32
优先你要先确定你配置的设备树节点,在 uboot 阶段是否给正确 probe 了,因为在 uboot 阶段,设备的 probe  ...

现在就是在第一步sf probe 1:0的时候出错,读不到flash的ID,我在rk3588-u-boot.dtsi中添加的设备树如下:

&spi1 {
        u-boot,dm-spl;
        status = "okay";

        #address-cells = <1>;
        #size-cells = <0>;
        pinctrl-0 = <&spi1m2_cs0 &spi1m2_cs1 &spi1m2_pins>;
        pinctrl-1 = <&spi1m2_cs0 &spi1m2_cs1 &spi1m2_pins_hs>;
        spi_norflash: flash@00 {
                u-boot,dm-spl;
                compatible = "jedec,spi-nor";
                label = "spi_nor";
                reg = <0x00>;
                spi-tx-bus-width = <1>;
                spi-rx-bus-width = <4>;
                spi-max-frequency = <50000000>;
                status = "okay";
        };
};
回复

使用道具 举报

125

积分

0

威望

0

贡献

技术小白

积分
125
发表于 2023-5-18 20:09:19        只看该作者  13#
Bennett 发表于 2023-5-18 20:05
现在就是在第一步sf probe 1:0的时候出错,读不到flash的ID,我在rk3588-u-boot.dtsi中添加的设备树如下 ...

还有一个问题是在id=67,就是UCLASS_SPI_FLASH的时候显示not found:
File:drivers/core/uclass.c  Function:uclass_get  Line:153  id = 67
File:drivers/core/uclass.c  Function:uclass_find  Line:27
File:drivers/core/uclass.c  Function:uclass_get  Line:155  uc =00000000ebc1ec70
File:drivers/core/uclass.c  Function:uclass_find_device_by_seq  Line:277  ret = 0
File:drivers/core/uclass.c  Function:uclass_find_device_by_seq  Line:283  dev = 00000000ebc1ecb0  dev->req_seq = -1  dev->seq = -1  dev->name: flash@00
File:drivers/core/uclass.c  Function:uclass_find_device_by_seq  Line:293  - not found
回复

使用道具 举报

125

积分

0

威望

0

贡献

技术小白

积分
125
发表于 2023-5-18 20:16:42        只看该作者  14#
Bennett 发表于 2023-5-18 20:09
还有一个问题是在id=67,就是UCLASS_SPI_FLASH的时候显示not found:
File:drivers/core/uclass.c  Functi ...

在File:drivers/core/device.c  Function:device_probe  Line:519  ret = -2返回错误

if (drv->probe) {
                ret = drv->probe(dev);
                printf("File:%s  Function:%s  Line:%d  ret = %d\n", __FILE__, __FUNCTION__, __LINE__, ret);
                if (ret) {
                        dev->flags &= ~DM_FLAG_ACTIVATED;
                        goto fail;
                }
        }
回复

使用道具 举报

112

积分

0

威望

0

贡献

技术小白

积分
112
发表于 2023-5-25 14:15:46        只看该作者  15#
其实你参照 kernel 的 dts 配置就行了,因为你在 kenrel 配置了 spi flash ,在 uboot 阶段, dtb 会给 overlay 的,内核的 dts 应该有相关的 spi flash 参考的。
然后你在 uboot 不需要在代码加 probe 的动作应该,你使用命令应该也可以进行 probe(手动)
回复

使用道具 举报

125

积分

0

威望

0

贡献

技术小白

积分
125
发表于 2023-5-25 15:57:56        只看该作者  16#
Oliver_Li 发表于 2023-5-25 14:15
其实你参照 kernel 的 dts 配置就行了,因为你在 kenrel 配置了 spi flash ,在 uboot 阶段, dtb 会给 ove ...

rk3588的kernel并没有配置spi flash的设备树,我现在在kernel里面读出来的id是ff  ff  ff  ff  ff  ff..........
我把flash拔掉读出来的也还是ff ff ff ff ff ff.........
感觉没用。
回复

使用道具 举报

112

积分

0

威望

0

贡献

技术小白

积分
112
发表于 2023-5-25 17:17:10        只看该作者  17#
回复

使用道具 举报

返回列表
12
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表