diff mbox series

mtd: spi-nor: winbond: Add support for w25m512jw

Message ID 20201016115549.31369-1-prabhakar.mahadev-lad.rj@bp.renesas.com (mailing list archive)
State Under Review
Delegated to: Geert Uytterhoeven
Headers show
Series mtd: spi-nor: winbond: Add support for w25m512jw | expand

Commit Message

Prabhakar Oct. 16, 2020, 11:55 a.m. UTC
This chip is (nearly) identical to the Winbond w25m512jv which is
already supported by Linux. Compared to the w25m512jv, the 'jw'
has a different JEDEC ID.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
---
 drivers/mtd/spi-nor/winbond.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Geert Uytterhoeven Oct. 22, 2020, 1:14 p.m. UTC | #1
On Fri, Oct 16, 2020 at 1:56 PM Lad Prabhakar
<prabhakar.mahadev-lad.rj@bp.renesas.com> wrote:
> This chip is (nearly) identical to the Winbond w25m512jv which is
> already supported by Linux. Compared to the w25m512jv, the 'jw'
> has a different JEDEC ID.
>
> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>

Datasheets available at
https://www.winbond.com/hq/product/code-storage-flash-memory/spistack-flash/?__locale=en&partNo=W25M512JV
https://www.winbond.com/hq/product/code-storage-flash-memory/spistack-flash/?__locale=en&partNo=W25M512JW

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert
Vignesh Raghavendra Nov. 10, 2020, 12:58 p.m. UTC | #2
On 10/16/20 5:25 PM, Lad Prabhakar wrote:
> This chip is (nearly) identical to the Winbond w25m512jv which is
> already supported by Linux. Compared to the w25m512jv, the 'jw'
> has a different JEDEC ID.
> 
> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>

I believe this was tested on a real HW? Including Quad mode?

> ---
>  drivers/mtd/spi-nor/winbond.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/mtd/spi-nor/winbond.c b/drivers/mtd/spi-nor/winbond.c
> index 6dcde15fb1aa..b5dfc09fef30 100644
> --- a/drivers/mtd/spi-nor/winbond.c
> +++ b/drivers/mtd/spi-nor/winbond.c
> @@ -88,6 +88,8 @@ static const struct flash_info winbond_parts[] = {
>  			     SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
>  	{ "w25m512jv", INFO(0xef7119, 0, 64 * 1024, 1024,
>  			    SECT_4K | SPI_NOR_QUAD_READ | SPI_NOR_DUAL_READ) },
> +	{ "w25m512jw", INFO(0xef6119, 0, 64 * 1024, 1024,
> +			    SECT_4K | SPI_NOR_QUAD_READ | SPI_NOR_DUAL_READ) },
>  };
>  
>  /**
>
Prabhakar Nov. 10, 2020, 2:10 p.m. UTC | #3
On Tue, Nov 10, 2020 at 12:58 PM Vignesh Raghavendra <vigneshr@ti.com> wrote:
>
>
>
> On 10/16/20 5:25 PM, Lad Prabhakar wrote:
> > This chip is (nearly) identical to the Winbond w25m512jv which is
> > already supported by Linux. Compared to the w25m512jv, the 'jw'
> > has a different JEDEC ID.
> >
> > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> > Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
>
> I believe this was tested on a real HW? Including Quad mode?
>
Yes it's tested on Renesas RZ/G2M platform (attached is the log).

Cheers,
Prabhakar
NOTICE:  BL2: RZ/G Initial Program Loader(CA57) Rev.2.0.6
NOTICE:  BL2: PRR is RZG G2M Ver.1.3
NOTICE:  BL2: Board is HiHope RZ/G2M Rev.4.0
NOTICE:  BL2: Boot device is QSPI Flash(40MHz)
NOTICE:  BL2: LCM state is unknown
NOTICE:  BL2: DDR3200(rev.0.37)
NOTICE:  BL2: [COLD_BOOT]
NOTICE:  BL2: DRAM Split is 2ch
NOTICE:  BL2: QoS is default setting(rev.0.19)
NOTICE:  BL2: DRAM refresh interval 1.95 usec
NOTICE:  BL2: Periodic Write DQ Training
NOTICE:  BL2: CH0: 400000000 - 47fffffff, 2 GiB
NOTICE:  BL2: CH2: 600000000 - 67fffffff, 2 GiB
NOTICE:  BL2: Lossy Decomp areas
NOTICE:       Entry 0: DCMPAREACRAx:0x80000540 DCMPAREACRBx:0x570
NOTICE:       Entry 1: DCMPAREACRAx:0x40000000 DCMPAREACRBx:0x0
NOTICE:       Entry 2: DCMPAREACRAx:0x20000000 DCMPAREACRBx:0x0
NOTICE:  BL2: FDT at 0xe6323788
NOTICE:  BL2: v2.3():v2.3-dirty
NOTICE:  BL2: Built : 09:45:09, Oct 20 2020
NOTICE:  BL2: Normal boot
NOTICE:  BL2: dst=0xe6323300 src=0x8180000 len=512(0x200)
NOTICE:  BL2: dst=0x43f00000 src=0x8180400 len=6144(0x1800)
NOTICE:  rcar_file_len: len: 0x0003e000
NOTICE:  BL2: dst=0x44000000 src=0x81c0000 len=253952(0x3e000)
NOTICE:  rcar_file_len: len: 0x00100000
NOTICE:  BL2: dst=0x44100000 src=0x8200000 len=1048576(0x100000)
NOTICE:  rcar_file_len: len: 0x00100000
NOTICE:  BL2: dst=0x50000000 src=0x8300000 len=1048576(0x100000)
NOTICE:  BL2: Booting BL31


U-Boot 2020.10-rc5-00053-g499f91013a (Oct 19 2020 - 20:03:46 +0100)

CPU: Renesas Electronics R8A774A1 rev 1.3
Model: HopeRun HiHope RZ/G2M with sub board
DRAM:  5.8 GiB
MMC:   mmc@ee100000: 0, mmc@ee160000: 1
Loading Environment from MMC... OK
In:    serial@e6e88000
Out:   serial@e6e88000
Err:   serial@e6e88000
Net:   eth0: ethernet@e6800000
Hit any key to stop autoboot:  0 
ethernet@e6800000 Waiting for PHY auto negotiation to complete...... done
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3
DHCP client bound to address 192.168.10.131 (1282 ms)
Using ethernet@e6800000 device
TFTP from server 192.168.10.1; our IP address is 192.168.10.131
Filename 'g2m/Image'.
Load address: 0x48080000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #########################
         2.1 MiB/s
done
Bytes transferred = 21352960 (145d200 hex)
Using ethernet@e6800000 device
TFTP from server 192.168.10.1; our IP address is 192.168.10.131
Filename 'g2m/r8a774a1-hihope-rzg2m-ex.dtb'.
Load address: 0x48000000
Loading: ####
         1.8 MiB/s
done
Bytes transferred = 57826 (e1e2 hex)
Moving Image from 0x48080000 to 0x48200000, end=4a120000
## Flattened Device Tree blob at 48000000
   Booting using the fdt blob at 0x48000000
   Using Device Tree in place at 0000000048000000, end 00000000480111e1

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd073]
[    0.000000] Linux version 5.9.0-rc7+ (prasmi@prasmi) (aarch64-linux-gnu-gcc (Linaro GCC 7.5-2019.12) 7.5.0, GNU ld (Linaro_Binutils-2019.12) 2.28.2.20170706) #180 SMP PREEMPT Tue Nov 10 14:01:03 GMT 2020
[    0.000000] Machine model: HopeRun HiHope RZ/G2M with sub board
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 96 MiB at 0x00000000ba000000
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000048000000-0x000000007fffffff]
[    0.000000]   DMA32    [mem 0x0000000080000000-0x00000000ffffffff]
[    0.000000]   Normal   [mem 0x0000000100000000-0x000000067fffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000048000000-0x00000000bfffffff]
[    0.000000]   node   0: [mem 0x0000000600000000-0x000000067fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000048000000-0x000000067fffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: Trusted OS migration not required
[    0.000000] psci: SMC Calling Convention v1.2
[    0.000000] percpu: Embedded 30 pages/cpu s91536 r0 d31344 u122880
[    0.000000] Detected PIPT I-cache on CPU0
[    0.000000] Speculative Store Bypass Disable mitigation not required
[    0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 999936
[    0.000000] Kernel command line: ip=dhcp cma=96M rw rootwait root=/dev/nfs nfsroot=192.168.10.1:/mnt/jenk-g2m/,vers=4.1,tcp
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: mapped [mem 0x7bfff000-0x7ffff000] (64MB)
[    0.000000] Memory: 3786368K/4063232K available (12668K kernel code, 1588K rwdata, 3892K rodata, 2624K init, 10996K bss, 178560K reserved, 98304K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=6, Nodes=1
[    0.000000] Running RCU self tests
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU lockdep checking is enabled.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=6.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=6
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] random: get_random_bytes called from start_kernel+0x398/0x528 with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 8.33MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x1ec02923e, max_idle_ns: 440795202125 ns
[    0.000004] sched_clock: 56 bits at 8MHz, resolution 120ns, wraps every 2199023255496ns
[    0.000183] Console: colour dummy device 80x25
[    0.001607] printk: console [tty0] enabled
[    0.001638] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[    0.001682] ... MAX_LOCKDEP_SUBCLASSES:  8
[    0.001709] ... MAX_LOCK_DEPTH:          48
[    0.001736] ... MAX_LOCKDEP_KEYS:        8192
[    0.001764] ... CLASSHASH_SIZE:          4096
[    0.001791] ... MAX_LOCKDEP_ENTRIES:     32768
[    0.001819] ... MAX_LOCKDEP_CHAINS:      65536
[    0.001847] ... CHAINHASH_SIZE:          32768
[    0.001876]  memory used by lock dependency info: 6301 kB
[    0.001908]  memory used for stack traces: 4224 kB
[    0.001938]  per task-struct memory footprint: 1920 bytes
[    0.002016] Calibrating delay loop (skipped), value calculated using timer frequency.. 16.66 BogoMIPS (lpj=33333)
[    0.002077] pid_max: default: 32768 minimum: 301
[    0.002302] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.002373] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.006533] rcu: Hierarchical SRCU implementation.
[    0.007772] Detected Renesas RZ/G2 r8a774a1 ES1.3
[    0.008578] EFI services will not be available.
[    0.009506] smp: Bringing up secondary CPUs ...
[    0.010999] Detected PIPT I-cache on CPU1
[    0.011067] CPU1: Booted secondary processor 0x0000000001 [0x411fd073]
[    0.012924] CPU features: detected: ARM erratum 845719
[    0.012947] Detected VIPT I-cache on CPU2
[    0.013011] CPU2: Booted secondary processor 0x0000000100 [0x410fd034]
[    0.014659] Detected VIPT I-cache on CPU3
[    0.014693] CPU3: Booted secondary processor 0x0000000101 [0x410fd034]
[    0.016321] Detected VIPT I-cache on CPU4
[    0.016354] CPU4: Booted secondary processor 0x0000000102 [0x410fd034]
[    0.017936] Detected VIPT I-cache on CPU5
[    0.017970] CPU5: Booted secondary processor 0x0000000103 [0x410fd034]
[    0.018425] smp: Brought up 1 node, 6 CPUs
[    0.018977] SMP: Total of 6 processors activated.
[    0.019028] CPU features: detected: 32-bit EL0 Support
[    0.019081] CPU features: detected: CRC32 instructions
[    0.019133] CPU features: detected: 32-bit EL1 Support
[    0.020523] CPU: All CPU(s) started at EL1
[    0.020639] alternatives: patching kernel code
[    0.022916] devtmpfs: initialized
[    0.052978] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.053100] futex hash table entries: 2048 (order: 6, 262144 bytes, linear)
[    0.054977] pinctrl core: initialized pinctrl subsystem
[    0.056972] DMI not present or invalid.
[    0.057642] NET: Registered protocol family 16
[    0.060543] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations
[    0.060715] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.060919] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.061150] audit: initializing netlink subsys (disabled)
[    0.061587] audit: type=2000 audit(0.060:1): state=initialized audit_enabled=0 res=1
[    0.062682] thermal_sys: Registered thermal governor 'step_wise'
[    0.064027] cpuidle: using governor menu
[    0.064366] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.064776] ASID allocator initialised with 65536 entries
[    0.157560] sh-pfc e6060000.pinctrl: r8a774a1_pfc support registered
[    0.177666] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[    0.177741] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[    0.177806] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.177871] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[    0.182565] cryptd: max_cpu_qlen set to 1000
[    0.194367] iommu: Default domain type: Translated 
[    0.195082] vgaarb: loaded
[    0.195886] SCSI subsystem initialized
[    0.196659] usbcore: registered new interface driver usbfs
[    0.196794] usbcore: registered new interface driver hub
[    0.197030] usbcore: registered new device driver usb
[    0.198389] mc: Linux media interface: v0.10
[    0.198489] videodev: Linux video capture interface: v2.00
[    0.198684] pps_core: LinuxPPS API ver. 1 registered
[    0.198736] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.198845] PTP clock support registered
[    0.200107] Advanced Linux Sound Architecture Driver Initialized.
[    0.201236] Bluetooth: Core ver 2.22
[    0.201374] NET: Registered protocol family 31
[    0.201424] Bluetooth: HCI device and connection manager initialized
[    0.201511] Bluetooth: HCI socket layer initialized
[    0.201569] Bluetooth: L2CAP socket layer initialized
[    0.201672] Bluetooth: SCO socket layer initialized
[    0.202355] clocksource: Switched to clocksource arch_sys_counter
[    0.776038] VFS: Disk quotas dquot_6.6.0
[    0.776190] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.795828] NET: Registered protocol family 2
[    0.796608] tcp_listen_portaddr_hash hash table entries: 2048 (order: 5, 163840 bytes, linear)
[    0.796950] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.797658] TCP bind hash table entries: 32768 (order: 9, 2359296 bytes, linear)
[    0.801440] TCP: Hash tables configured (established 32768 bind 32768)
[    0.801840] UDP hash table entries: 2048 (order: 6, 327680 bytes, linear)
[    0.802525] UDP-Lite hash table entries: 2048 (order: 6, 327680 bytes, linear)
[    0.803412] NET: Registered protocol family 1
[    0.804729] RPC: Registered named UNIX socket transport module.
[    0.804814] RPC: Registered udp transport module.
[    0.804866] RPC: Registered tcp transport module.
[    0.804917] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.805702] PCI: CLS 0 bytes, default 64
[    0.808364] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
[    0.809189] hw perfevents: enabled with armv8_cortex_a57 PMU driver, 7 counters available
[    0.809850] kvm [1]: HYP mode not available
[    0.820871] Initialise system trusted keyrings
[    0.821338] workingset: timestamp_bits=46 max_order=20 bucket_order=0
[    0.842194] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.844172] NFS: Registering the id_resolver key type
[    0.844277] Key type id_resolver registered
[    0.844342] Key type id_legacy registered
[    0.844633] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.844719] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    0.871670] Key type asymmetric registered
[    0.871759] Asymmetric key parser 'x509' registered
[    0.871893] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[    0.871987] io scheduler mq-deadline registered
[    0.872037] io scheduler kyber registered
[    0.882850] gpio_rcar e6050000.gpio: driving 16 GPIOs
[    0.883945] gpio_rcar e6051000.gpio: driving 29 GPIOs
[    0.884956] gpio_rcar e6052000.gpio: driving 15 GPIOs
[    0.885952] gpio_rcar e6053000.gpio: driving 16 GPIOs
[    0.886993] gpio_rcar e6054000.gpio: driving 18 GPIOs
[    0.887988] gpio_rcar e6055000.gpio: driving 26 GPIOs
[    0.888717] gpio-370 (usb1-reset): hogged as output/low
[    0.889151] gpio_rcar e6055400.gpio: driving 32 GPIOs
[    0.890162] gpio_rcar e6055800.gpio: driving 4 GPIOs
[    0.894194] rcar-pcie fe000000.pcie: host bridge /soc/pcie@fe000000 ranges:
[    0.894386] rcar-pcie fe000000.pcie:       IO 0x00fe100000..0x00fe1fffff -> 0x0000000000
[    0.894563] rcar-pcie fe000000.pcie:      MEM 0x00fe200000..0x00fe3fffff -> 0x00fe200000
[    0.894704] rcar-pcie fe000000.pcie:      MEM 0x0030000000..0x0037ffffff -> 0x0030000000
[    0.894816] rcar-pcie fe000000.pcie:      MEM 0x0038000000..0x003fffffff -> 0x0038000000
[    0.894939] rcar-pcie fe000000.pcie:   IB MEM 0x0040000000..0x00bfffffff -> 0x0040000000
[    0.962247] rcar-pcie fe000000.pcie: PCIe link down
[    0.963108] rcar-pcie ee800000.pcie: host bridge /soc/pcie@ee800000 ranges:
[    0.963245] rcar-pcie ee800000.pcie:       IO 0x00ee900000..0x00ee9fffff -> 0x0000000000
[    0.963382] rcar-pcie ee800000.pcie:      MEM 0x00eea00000..0x00eebfffff -> 0x00eea00000
[    0.963515] rcar-pcie ee800000.pcie:      MEM 0x00c0000000..0x00c7ffffff -> 0x00c0000000
[    0.963622] rcar-pcie ee800000.pcie:      MEM 0x00c8000000..0x00cfffffff -> 0x00c8000000
[    0.963744] rcar-pcie ee800000.pcie:   IB MEM 0x0040000000..0x00bfffffff -> 0x0040000000
[    1.030234] rcar-pcie ee800000.pcie: PCIe link down
[    1.153072] SuperH (H)SCI(F) driver initialized
[    1.154287] e6540000.serial: ttySC1 at MMIO 0xe6540000 (irq = 31, base_baud = 0) is a hscif
[    1.155331] serial serial0: tty port ttySC1 registered
[    1.157083] e6e88000.serial: ttySC0 at MMIO 0xe6e88000 (irq = 115, base_baud = 0) is a scif
[    2.227712] printk: console [ttySC0] enabled
[    2.239981] rcar-dw-hdmi fead0000.hdmi: Detected HDMI TX controller v2.01a with HDCP (DWC HDMI 2.0 TX PHY)
[    2.250678] rcar-dw-hdmi fead0000.hdmi: registered DesignWare HDMI I2C bus driver
[    2.291515] loop: module loaded
[    2.298715] libphy: Fixed MDIO Bus: probed
[    2.303934] tun: Universal TUN/TAP device driver, 1.6
[    2.309634] CAN device driver interface
[    2.315283] rcar_can e6c30000.can: device registered (IRQ113)
[    2.322863] rcar_can e6c38000.can: device registered (IRQ114)
[    2.331711] VFIO - User Level meta-driver version: 0.3
[    2.337550] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    2.344234] ehci-pci: EHCI PCI platform driver
[    2.348810] ehci-platform: EHCI generic platform driver
[    2.355542] ehci-platform ee0a0100.usb: EHCI Host Controller
[    2.361418] ehci-platform ee0a0100.usb: new USB bus registered, assigned bus number 1
[    2.369603] ehci-platform ee0a0100.usb: irq 153, io mem 0xee0a0100
[    2.390390] ehci-platform ee0a0100.usb: USB 2.0 started, EHCI 1.10
[    2.398662] hub 1-0:1.0: USB hub found
[    2.402599] hub 1-0:1.0: 1 port detected
[    2.408283] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    2.414669] ohci-pci: OHCI PCI platform driver
[    2.419255] ohci-platform: OHCI generic platform driver
[    2.425773] ohci-platform ee0a0000.usb: Generic Platform OHCI controller
[    2.432595] ohci-platform ee0a0000.usb: new USB bus registered, assigned bus number 2
[    2.440742] ohci-platform ee0a0000.usb: irq 153, io mem 0xee0a0000
[    2.538698] hub 2-0:1.0: USB hub found
[    2.542589] hub 2-0:1.0: 1 port detected
[    2.548830] xhci-hcd ee000000.usb: xHCI Host Controller
[    2.554180] xhci-hcd ee000000.usb: new USB bus registered, assigned bus number 3
[    2.577869] xhci-hcd ee000000.usb: hcc params 0x014051ce hci version 0x100 quirks 0x0000000000830410
[    2.587196] xhci-hcd ee000000.usb: irq 150, io mem 0xee000000
[    2.595034] hub 3-0:1.0: USB hub found
[    2.599004] hub 3-0:1.0: 1 port detected
[    2.603725] xhci-hcd ee000000.usb: xHCI Host Controller
[    2.609047] xhci-hcd ee000000.usb: new USB bus registered, assigned bus number 4
[    2.616543] xhci-hcd ee000000.usb: Host supports USB 3.0 SuperSpeed
[    2.623039] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
[    2.632659] hub 4-0:1.0: USB hub found
[    2.636548] hub 4-0:1.0: 1 port detected
[    2.642075] usbcore: registered new interface driver usb-storage
[    2.649665] renesas_usbhs e6590000.usb: host probed
[    2.654754] renesas_usbhs e6590000.usb: no transceiver found
[    2.661039] renesas_usbhs e6590000.usb: gadget probed
[    2.666507] renesas_usbhs e6590000.usb: probed
[    2.673799] renesas_usb3 ee020000.usb: probed with phy
[    2.680547] i2c /dev entries driver
[    2.699957] cs2000-cp 2-004f: revision - C1
[    2.704425] i2c-rcar e6510000.i2c: probed
[    2.716314] i2c-rcar e66d8000.i2c: probed
[    2.724674] rcar_fdp1 fe940000.fdp1: Device registered as /dev/video0
[    2.742479] usb 1-1: new high-speed USB device number 2 using ehci-platform
[    2.748111] rcar_gen3_thermal e6198000.thermal: TSC0: Loaded 1 trip points
[    2.760202] rcar_gen3_thermal e6198000.thermal: TSC1: Loaded 1 trip points
[    2.771516] rcar_gen3_thermal e6198000.thermal: TSC2: Loaded 2 trip points
[    2.781242] Bluetooth: HCI UART driver ver 2.3
[    2.785777] Bluetooth: HCI UART protocol H4 registered
[    2.791222] Bluetooth: HCI UART protocol LL registered
[    2.798566] cpufreq: cpufreq_online: CPU0: Running at unlisted freq: 1499999 KHz
[    2.806308] cpufreq: cpufreq_online: CPU0: Unlisted initial frequency changed to: 1500000 KHz
[    2.817785] cpufreq: cpufreq_online: CPU2: Running at unlisted freq: 1199999 KHz
[    2.825600] cpufreq: cpufreq_online: CPU2: Unlisted initial frequency changed to: 1200000 KHz
[    2.838607] renesas_sdhi_internal_dmac ee100000.mmc: Got CD GPIO
[    2.871267] Bluetooth: hci0: change remote baud rate command in firmware
[    2.909263] renesas_sdhi_internal_dmac ee160000.mmc: mmc0 base at 0x00000000ee160000, max clock rate 200 MHz
[    2.910922] hub 1-1:1.0: USB hub found
[    2.923668] ledtrig-cpu: registered to indicate activity on CPUs
[    2.923708] hub 1-1:1.0: 2 ports detected
[    2.929871] SMCCC: SOC_ID: ARCH_FEATURES(ARCH_SOC_ID) returned error: fffffffffffffffd
[    2.943721] usbcore: registered new interface driver usbhid
[    2.949422] usbhid: USB HID core driver
[    2.957280] spi-nor spi0.0: w25m512jw (32768 Kbytes)
[    2.962573] 7 fixed-partitions partitions found on MTD device spi0.0
[    2.969058] Creating 7 MTD partitions on "spi0.0":
[    2.973996] 0x000000000000-0x000000040000 : "bootparam"
[    2.989667] 0x000000040000-0x000000080000 : "bl2"
[    3.008713] 0x000000180000-0x0000001c0000 : "cert_header_sa6"
[    3.020151] 0x0000001c0000-0x000000620000 : "bl31"
[    3.041038] 0x000000200000-0x000000660000 : "tee"
[    3.053771] 0x000000300000-0x0000003c0000 : "uboot"
[    3.064339] random: fast init done
[    3.075556] 0x0000003c0000-0x000002000000 : "user"
[    3.082142] mmc0: new HS200 MMC card at address 0001
[    3.089098] mmcblk0: mmc0:0001 S0J57X 29.6 GiB 
[    3.094039] mmcblk0boot0: mmc0:0001 S0J57X partition 1 31.5 MiB
[    3.100550] mmcblk0boot1: mmc0:0001 S0J57X partition 2 31.5 MiB
[    3.105561] optee: probing for conduit method.
[    3.107256] mmcblk0rpmb: mmc0:0001 S0J57X partition 3 4.00 MiB, chardev (243:0)
[    3.111473] optee: revision 3.8 (af141c61)
[    3.112157] optee: dynamic shared memory is enabled
[    3.129434] optee: initialized driver
[    3.134271]  mmcblk0: p1
[    3.160681] NET: Registered protocol family 17
[    3.165281] can: controller area network core (rev 20170425 abi 9)
[    3.171682] NET: Registered protocol family 29
[    3.176206] can: raw protocol (rev 20170425)
[    3.180630] can: broadcast manager protocol (rev 20170425 t)
[    3.186445] can: netlink gateway (rev 20190810) max_hops=1
[    3.192412] Key type dns_resolver registered
[    3.197423] registered taskstats version 1
[    3.201611] Loading compiled-in X.509 certificates
[    3.261017] renesas_irqc e61c0000.interrupt-controller: driving 6 irqs
[    3.310588] ehci-platform ee080100.usb: EHCI Host Controller
[    3.316601] ehci-platform ee080100.usb: new USB bus registered, assigned bus number 5
[    3.324922] ehci-platform ee080100.usb: irq 152, io mem 0xee080100
[    3.346444] ehci-platform ee080100.usb: USB 2.0 started, EHCI 1.10
[    3.355724] hub 5-0:1.0: USB hub found
[    3.359803] hub 5-0:1.0: 1 port detected
[    3.367256] ohci-platform ee080000.usb: Generic Platform OHCI controller
[    3.374179] ohci-platform ee080000.usb: new USB bus registered, assigned bus number 6
[    3.382504] ohci-platform ee080000.usb: irq 152, io mem 0xee080000
[    3.479421] hub 6-0:1.0: USB hub found
[    3.483412] hub 6-0:1.0: 1 port detected
[    3.495067] renesas_sdhi_internal_dmac ee100000.mmc: Got CD GPIO
[    3.552349] renesas_sdhi_internal_dmac ee100000.mmc: mmc1 base at 0x00000000ee100000, max clock rate 200 MHz
[    3.693400] renesas_sdhi_internal_dmac ee140000.mmc: mmc2 base at 0x00000000ee140000, max clock rate 200 MHz
[    3.768984] renesas_sdhi_internal_dmac ee140000.mmc: card claims to support voltages below defined range
[    3.821947] rcar-dmac e6700000.dma-controller: ignoring dependency for device, assuming no driver
[    3.845895] rcar-dmac e7300000.dma-controller: ignoring dependency for device, assuming no driver
[    3.861867] mmc2: new high speed SDIO card at address 0001
[    3.865472] rcar-dmac e7310000.dma-controller: ignoring dependency for device, assuming no driver
[    3.887050] rcar-dmac ec700000.dma-controller: ignoring dependency for device, assuming no driver
[    3.906973] rcar-dmac ec720000.dma-controller: ignoring dependency for device, assuming no driver
[    3.928807] ravb e6800000.ethernet: ignoring dependency for device, assuming no driver
[    3.939845] ravb e6800000.ethernet eth0: Base address at 0xe6800000, ba:d0:4a:9c:4e:ce, IRQ 110.
[    3.949982] rcar-fcp fea27000.fcp: ignoring dependency for device, assuming no driver
[    3.958867] rcar-fcp fea2f000.fcp: ignoring dependency for device, assuming no driver
[    3.967620] rcar-fcp fea37000.fcp: ignoring dependency for device, assuming no driver
[    3.976370] rcar-fcp fe9af000.fcp: ignoring dependency for device, assuming no driver
[    4.016570] rcar_sound ec500000.sound: probed
[    4.028253] [drm] Initialized rcar-du 1.0.0 20130110 for feb00000.display on minor 0
[    4.036162] [drm] Device feb00000.display probed
[    4.041315] rcar-du feb00000.display: [drm] Cannot find any crtc or sizes
[    4.051680] asoc-audio-graph-card sound: ASoC: no DMI vendor name!
[    4.058889] rcar-du feb00000.display: [drm] Cannot find any crtc or sizes
[    4.072187] libphy: ravb_mii: probed
[    4.085421] RTL8211E Gigabit Ethernet e6800000.ethernet-ffffffff:00: attached PHY driver [RTL8211E Gigabit Ethernet] (mii_bus:phy_addr=e6800000.ethernet-ffffffff:00, irq=192)
[    7.154278] ravb e6800000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
[    7.178490] Sending DHCP requests .., OK
[    9.518887] IP-Config: Got DHCP answer from 192.168.10.1, my address is 192.168.10.131
[    9.527116] IP-Config: Complete:
[    9.530519]      device=eth0, hwaddr=ba:d0:4a:9c:4e:ce, ipaddr=192.168.10.131, mask=255.255.255.0, gw=192.168.10.1
[    9.541223]      host=192.168.10.131, domain=example.org, nis-domain=(none)
[    9.548449]      bootserver=192.168.10.1, rootserver=192.168.10.1, rootpath=
[    9.548458]      nameserver0=192.168.10.1
[    9.560700] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    9.572214] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    9.583627] ALSA device list:
[    9.586786]   #0: rcar-sound
[    9.677301] VFS: Mounted root (nfs4 filesystem) on device 0:22.
[    9.687705] devtmpfs: mounted
[    9.692495] Freeing unused kernel memory: 2624K
[    9.714593] Run /sbin/init as init process
[   10.311481] systemd[1]: System time before build time, advancing clock.
[   10.456340] systemd[1]: systemd 234 running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 )
[   10.479122] systemd[1]: Detected architecture arm64.

Welcome to Poky (Yocto Project Reference Distro) 2.4.3 (rocko)!

[   10.511269] systemd[1]: Set hostname to <hihope-rzg2m>.
[   11.586283] systemd[1]: Configuration file /lib/systemd/system/watchdog.service is marked executable. Please remove executable permission bits. Proceeding anyway.
[   12.207279] random: systemd: uninitialized urandom read (16 bytes read)
[   12.229939] systemd[1]: Created slice User and Session Slice.
[  OK  ] Created slice User and Session Slice.
[   12.254983] random: systemd: uninitialized urandom read (16 bytes read)
[   12.265427] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
[  OK  ] Listening on /dev/initctl Compatibility Named Pipe.
[   12.291107] random: systemd: uninitialized urandom read (16 bytes read)
[   12.300007] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[  OK  ] Started Forward Password Requests to Wall Directory Watch.
[   12.329668] systemd[1]: Listening on Journal Socket (/dev/log).
[  OK  ] Listening on Journal Socket (/dev/log).
[   12.356241] systemd[1]: Listening on Network Service Netlink Socket.
[  OK  ] Listening on Network Service Netlink Socket.
[   12.389228] systemd[1]: Created slice System Slice.
[  OK  ] Created slice System Slice.
[  OK  ] Created slice system-serial\x2dgetty.slice.
[  OK  ] Reached target Slices.
[  OK  ] Created slice system-getty.slice.
         Mounting Huge Pages File System...
         Mounting Kernel Debug File System...
         Mounting POSIX Message Queue File System...
[  OK  ] Listening on udev Kernel Socket.
[  OK  ] Reached target Host and Network Name Lookups.
[  OK  ] Listening on udev Control Socket.
[  OK  ] Listening on Journal Socket.
         Starting Load Kernel Modules...
[  OK  ] Started Dispatch Password Requests to Console Directory Watch.
[  OK  ] Reached target Paths.
[  OK  ] Listening on Journal Audit Socket.
         Starting Journal Service...
[  OK  ] Reached target Remote File Systems.
[  OK  ] Reached target Swap.
         Mounting Temporary Directory (/tmp)...
         Starting Remount Root and Kernel File Systems...
[  OK  ] Mounted Kernel Debug File System.
[  OK  ] Mounted POSIX Message Queue File System.
[  OK  ] Mounted Huge Pages File System.
[  OK  ] Mounted Temporary Directory (/tmp).
[FAILED] Failed to start Load Kernel Modules.
See 'systemctl status systemd-modules-load.service' for details.
[  OK  ] Started Remount Root and Kernel File Systems.
[  OK  ] Started Journal Service.
         Starting udev Coldplug all Devices...
         Starting Flush Journal to Persistent Storage...
         Starting Create Static Device Nodes in /dev...
         Starting Apply Kernel Variables...
         Mounting Kernel Configuration File System...
[  OK  ] Mounted Kernel Configuration File System.
[  OK  ] Started Apply Kernel Variables.
[   13.408627] systemd-journald[262]: Received request to flush runtime journal from PID 1
[  OK  ] Started Flush Journal to Persistent Storage.
[  OK  ] Started Create Static Device Nodes in /dev.
         Starting udev Kernel Device Manager...
[  OK  ] Reached target Local File Systems (Pre).
         Mounting /var/volatile...
[  OK  ] Mounted /var/volatile.
         Starting Load/Save Random Seed...
[  OK  ] Reached target Local File Systems.
         Starting Create Volatile Files and Directories...
[  OK  ] Started Load/Save Random Seed.
[  OK  ] Started udev Kernel Device Manager.
[  OK  ] Started Create Volatile Files and Directories.
         Starting Update UTMP about System Boot/Shutdown...
[  OK  ] Started Update UTMP about System Boot/Shutdown.
[  OK  ] Found device /dev/ttySC0.
[  OK  ] Started udev Coldplug all Devices.
[   15.549049] random: crng init done
[   15.552712] random: 7 urandom warning(s) missed due to ratelimiting
[  OK  ] Reached target Sound Card.
         Starting Load Kernel Modules...
[FAILED] Failed to start Load Kernel Modules.
See 'systemctl status systemd-modules-load.service' for details.
[  OK  ] Reached target System Initialization.
         Starting Network Service...
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Started dnf-automatic-download timer.
[  OK  ] Started dnf makecache timer.
[  OK  ] Listening on dropbear.socket.
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
[  OK  ] Started dnf-automatic-notifyonly timer.
[  OK  ] Listening on RPCbind Server Activation Socket.
[  OK  ] Reached target Sockets.
[  OK  ] Started dnf-automatic-install timer.
[  OK  ] Reached target Timers.
[  OK  ] Reached target Basic System.
         Starting Avahi mDNS/DNS-SD Stack...
[  OK  ] Started WatchdogTimer.
[  OK  ] Started D-Bus System Message Bus.
[  OK  ] Started Avahi mDNS/DNS-SD Stack.
         Starting Connection service...
         Starting Bluetooth service...
[  OK  ] Started optee services.
[  OK  ] Started VIN initializing setting.
         Starting Login Service...
[  OK  ] Reached target Containers.
         Starting Telephony service...
         Starting Save/Restore Sound Card State...
         Starting pvrinit.service...
         Starting PowerVR consumer services...
[  OK  ] Started Network Service.
[  OK  ] Started Login Service.
[  OK  ] Started Save/Restore Sound Card State.
[  OK  ] Started Bluetooth service.
[  OK  ] Started Bluetooth Audio ALSA Backend.
[  OK  ] Reached target Bluetooth.
[  OK  ] Started Telephony service.
         Starting Hostname Service...
[  OK  ] Started PowerVR consumer services.
[  OK  ] Started pvrinit.service.
[  OK  ] Started Connection service.
[  OK  ] Started Hostname Service.
[  OK  ] Reached target Network.
         Starting Permit User Sessions...
         Starting Target Communication Framework agent...
[  OK  ] Started Permit User Sessions.
         Starting WPA supplicant...
[  OK  ] Started Getty on tty1.
[  OK  ] Started Serial Getty on ttySC0.
[  OK  ] Reached target Login Prompts.
[  OK  ] Started Target Communication Framework agent.
[  OK  ] Reached target Multi-User System.
         Starting Update UTMP about System Runlevel Changes...
[  OK  ] Started Weston Wayland compositor.
[  OK  ] Started WPA supplicant.
[  OK  ] Started Update UTMP about System Runlevel Changes.
[   29.173707] audit: type=1006 audit(1597838431.859:2): pid=434 uid=0 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=1 res=1

Poky (Yocto Project Reference Distro) 2.4.3 hihope-rzg2m ttySC0

BSP: RZG2M/HIHOPE-RZG2M/1.0.4
LSI: RZG2M
Version: 1.0.4
hihope-rzg2m login: [   39.905355] wlan-en-regulator: disabling
[   39.909737] SDHI0 VccQ: disabling

Poky (Yocto Project Reference Distro) 2.4.3 hihope-rzg2m ttySC0

BSP: RZG2M/HIHOPE-RZG2M/1.0.4
LSI: RZG2M
Version: 1.0.4
hihope-rzg2m login: root
Last login: Wed Aug 19 12:00:31 UTC 2020 on tty2
[   60.228955] audit: type=1006 audit(1597838462.915:3): pid=476 uid=0 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=2 res=1
amixer: Unable to find simple control 'DVC In',1

amixer: Unable to find simple control 'DVC Out',1

sed: -e expression #1, char 0: no previous regular expression
sed: -e expression #1, char 0: no previous regular expression
Extreme Low Power mode has already been disabled.
root@hihope-rzg2m:~# 
root@hihope-rzg2m:~# 
root@hihope-rzg2m:~# 
root@hihope-rzg2m:~# cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 00040000 00001000 "bootparam"
mtd1: 00040000 00001000 "bl2"
mtd2: 00040000 00001000 "cert_header_sa6"
mtd3: 00460000 00001000 "bl31"
mtd4: 00460000 00001000 "tee"
mtd5: 000c0000 00001000 "uboot"
mtd6: 01c40000 00001000 "user"
root@hihope-rzg2m:~# 
root@hihope-rzg2m:~# 
root@hihope-rzg2m:~# 
root@hihope-rzg2m:~# 
root@hihope-rzg2m:~# hexdump -C /dev/mtdblock0 
00000000  00 01 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000001d0  00 00 00 00 00 40 30 e6  00 00 00 00 00 00 00 00  |.....@0.........|
000001e0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000002e0  00 00 00 00 00 aa 00 00  00 00 00 00 00 00 00 00  |................|
000002f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000d50  00 00 00 00 00 40 30 e6  00 00 00 00 00 00 00 00  |.....@0.........|
00000d60  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000e60  00 00 00 00 00 aa 00 00  ff ff ff ff ff ff ff ff  |................|
00000e70  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
*
00040000
root@hihope-rzg2m:~# 
root@hihope-rzg2m:~# 
root@hihope-rzg2m:~#
Tudor Ambarus Dec. 7, 2020, 5:26 p.m. UTC | #4
Hi, Lad,

On 10/16/20 2:55 PM, Lad Prabhakar wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> This chip is (nearly) identical to the Winbond w25m512jv which is
> already supported by Linux. Compared to the w25m512jv, the 'jw'
> has a different JEDEC ID.

W25M512JW-IQ (2 x 256M-bit) Serial MCP (Multi Chip Package) Flash memory,
introduces a new “Software Die Select (C2h)” instruction, which we don't
support. I guess you can't access the second die with what we have in
mainline. Or am I wrong? We'll need to add support for multi-die support
if we want to add new multi-die flashes.

ta
Prabhakar Dec. 8, 2020, 10:40 a.m. UTC | #5
Hi Tudor,

On Mon, Dec 7, 2020 at 5:27 PM <Tudor.Ambarus@microchip.com> wrote:
>
> Hi, Lad,
>
> On 10/16/20 2:55 PM, Lad Prabhakar wrote:
> > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> >
> > This chip is (nearly) identical to the Winbond w25m512jv which is
> > already supported by Linux. Compared to the w25m512jv, the 'jw'
> > has a different JEDEC ID.
>
> W25M512JW-IQ (2 x 256M-bit) Serial MCP (Multi Chip Package) Flash memory,
> introduces a new “Software Die Select (C2h)” instruction, which we don't
> support. I guess you can't access the second die with what we have in
> mainline. Or am I wrong? We'll need to add support for multi-die support
> if we want to add new multi-die flashes.
>
My bad, yes only the first die is accessible.  I'll post a patch
dropping this id.

Cheers,
Prabhakar
diff mbox series

Patch

diff --git a/drivers/mtd/spi-nor/winbond.c b/drivers/mtd/spi-nor/winbond.c
index 6dcde15fb1aa..b5dfc09fef30 100644
--- a/drivers/mtd/spi-nor/winbond.c
+++ b/drivers/mtd/spi-nor/winbond.c
@@ -88,6 +88,8 @@  static const struct flash_info winbond_parts[] = {
 			     SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
 	{ "w25m512jv", INFO(0xef7119, 0, 64 * 1024, 1024,
 			    SECT_4K | SPI_NOR_QUAD_READ | SPI_NOR_DUAL_READ) },
+	{ "w25m512jw", INFO(0xef6119, 0, 64 * 1024, 1024,
+			    SECT_4K | SPI_NOR_QUAD_READ | SPI_NOR_DUAL_READ) },
 };
 
 /**