Hello Palmer, > -----Original Message----- > From: Palmer Dabbelt <palmer@xxxxxxxxxxx> > Sent: Tuesday, May 5, 2020 3:40 AM > To: Sagar Kadam <sagar.kadam@xxxxxxxxxx> > Cc: tudor.ambarus@xxxxxxxxxxxxx; miquel.raynal@xxxxxxxxxxx; > richard@xxxxxx; vigneshr@xxxxxx; Paul Walmsley > <paul.walmsley@xxxxxxxxxx>; linux-riscv@xxxxxxxxxxxxxxxxxxx; linux- > kernel@xxxxxxxxxxxxxxx; linux-mtd@xxxxxxxxxxxxxxxxxxx; Sagar Kadam > <sagar.kadam@xxxxxxxxxx> > Subject: Re: [PATCH 1/2] riscv: defconfig: enable spi nor on Hifive Unleashed > A00 board. > > [External Email] Do not click links or attachments unless you recognize the > sender and know the content is safe > > On Thu, 30 Apr 2020 02:58:51 PDT (-0700), sagar.kadam@xxxxxxxxxx wrote: > > Enable MTD based SPI-NOR framework in order to use spi flash available > > on HiFive Unleashed A00 board. > > > > Signed-off-by: Sagar Shrikant Kadam <sagar.kadam@xxxxxxxxxx> > > --- > > arch/riscv/configs/defconfig | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/arch/riscv/configs/defconfig > > b/arch/riscv/configs/defconfig index 4da4886..970580b 100644 > > --- a/arch/riscv/configs/defconfig > > +++ b/arch/riscv/configs/defconfig > > @@ -80,6 +80,8 @@ CONFIG_USB_STORAGE=y CONFIG_USB_UAS=y > CONFIG_MMC=y > > CONFIG_MMC_SPI=y > > +CONFIG_MTD=y > > +CONFIG_MTD_SPI_NOR=y > > CONFIG_RTC_CLASS=y > > CONFIG_VIRTIO_PCI=y > > CONFIG_VIRTIO_BALLOON=y > > From the second patch's description I'm assuming that MTD still functions > correctly without that change? Yes Palmer, the second patch is to enable QUAD write to nor flash.. MTD function's correctly without second patch. Using the character interface (/dev/mtd0) mtd_utils (mtd_debug : erase/read/write) work fine. We might require CONFIG_MTD_BLOCK, CONFIG_MTD_CMDLINE_PARTS in order to use MTD partitioning. IMHO it can be at user's choice weather to use flash partitions or not, so I have not enabled. Please let me know if I should enable these features as well. To demonstrate a bit more with linux 5.7-rc3 Specify on U-boot prompt: # setenv bootargs "root=/dev/ram rw console=ttySIF0 mtdparts=spi0.0:1024k(loader1),4096K(loader2),26M(rootfs)" After booting linux will enumerate mtd partitions: # cat /proc/mtd dev: size erasesize name mtd0: 00100000 00001000 "loader1" mtd1: 00400000 00001000 "loader2" mtd2: 01a00000 00001000 "rootfs" # cat /proc/partitions major minor #blocks name 31 0 1024 mtdblock0 31 1 4096 mtdblock1 31 2 26624 mtdblock2 #Format mtdblock2 with mkfs.ext3/4 and mount results in # mkfs.ext3 /dev/mtdblock2 mke2fs 1.44.5 (15-Dec-2018) /dev/mtdblock2 contains a ext3 file system last mounted on /mnt on Thu Jan 1 00:00:14 1970 Proceed anyway? (y,N) y Creating filesystem with 26624 1k blocks and 6656 inodes Filesystem UUID: 1b09252d-e313-430c-9ecb-79b0cef003ca Superblock backups stored on blocks: 8193, 24577 Allocating group tables: done Writing inode tables: done Creating journal (1024 blocks): done Writing superblocks and filesystem accounting information: done # mount none on / type rootfs (rw) proc on /proc type proc (rw,relatime) devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620,ptmxmode=666) tmpfs on /dev/shm type tmpfs (rw,relatime,mode=777) tmpfs on /tmp type tmpfs (rw,relatime) tmpfs on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755) sysfs on /sys type sysfs (rw,relatime) /dev/mtdblock2 on /mnt type ext3 (rw,relatime) Thanks & BR, Sagar Kadam ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/