Skip to content
Snippets Groups Projects
  1. Jul 18, 2022
    • JaimeLiao's avatar
      mtd: spi-nor-core: Add support for Macronix Octal flash · 4290ed78
      JaimeLiao authored
      Adding Macronix Octal flash for Octal DTR support.
      
      The octaflash series can be divided into the following types:
      
      MX25 series : Serial NOR Flash.
      MX66 series : Serial NOR Flash with stacked die.(Size larger than 1Gb)
      LM/UM series : Up to 250MHz clock frequency with both DTR/STR operation.
      LW/UW series : Support simultaneous Read-while-Write operation in multiple
                     bank architecture. Read-while-write feature which means read
                     data one bank while another bank is programing or erasing.
      
      MX25LM : 3.0V Octal I/O
       -https://www.mxic.com.tw/Lists/Datasheet/Attachments/7841/MX25LM51245G,%203V,%20512Mb,%20v1.1.pdf
      
      MX25UM : 1.8V Octal I/O
       -https://www.mxic.com.tw/Lists/Datasheet/Attachments/7525/MX25UM51245G%20Extreme%20Speed,%201.8V,%20512Mb,%20v1.0.pdf
      
      MX66LM : 3.0V Octal I/O with stacked die
       -https://www.mxic.com.tw/Lists/Datasheet/Attachments/7929/MX66LM1G45G,%203V,%201Gb,%20v1.1.pdf
      
      MX66UM : 1.8V Octal I/O with stacked die
       -https://www.mxic.com.tw/Lists/Datasheet/Attachments/7721/MX66UM1G45G,%201.8V,%201Gb,%20v1.1.pdf
      
      
      
      MX25LW : 3.0V Octal I/O with Read-while-Write
      MX25UW : 1.8V Octal I/O with Read-while-Write
      MX66LW : 3.0V Octal I/O with Read-while-Write and stack die
      MX66UW : 1.8V Octal I/O with Read-while-Write and stack die
      
      About LW/UW series, please contact us freely if you have any
      questions. For adding Octal NOR Flash IDs, we have validated
      each Flash on plateform zynq-picozed.
      
      As below are the SFDP table dump.
      
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/jedec_id
      c2943c
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/manufacturer
      macronix
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/partname
      mx66uw2g345gx0
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/sfdp > mx66uw2g345gx0
      zynq> hexdump mx66uw2g345gx0
      0000000 4653 5044 0108 fd04 0700 1401 0040 ff00
      0000010 0187 1c01 0090 ff00 000a 0801 0100 ff00
      0000020 0005 0501 0120 ff00 0084 0201 0134 ff00
      0000030 0000 0000 0000 0000 ffff ffff ffff ffff
      0000040 20e5 ff8a ffff 7fff ff00 ff00 ff00 ff00
      0000050 ffee ffff ffff ff00 ffff ff00 200c d810
      0000060 ff00 ff00 7987 0001 1284 e200 04cc 4667
      0000070 b030 b030 bdf4 5cd5 0000 ff00 1010 2000
      0000080 0000 0000 0000 237c 0048 0000 0000 8888
      0000090 0000 0000 0000 4000 d10f f3ff d10f f3ff
      00000a0 0500 9000 0500 b100 2b00 9500 2b00 9600
      00000b0 7172 b803 7172 b803 0000 0000 a390 8218
      00000c0 c000 9669 0000 0000 0000 0000 7172 9800
      00000d0 7172 b800 7172 9900 0000 0000 7172 9800
      00000e0 7172 f800 7172 9900 7172 f900 0000 0000
      00000f0 0000 0000 1501 d001 7172 d806 0000 5086
      0000100 0000 0106 0000 0000 0002 0301 0200 0000
      0000110 0000 0106 0000 0000 0000 0672 0200 0000
      0000120 ee00 69c0 7272 7171 d800 f6f7 0a00 0000
      0000130 4514 8098 0643 001f dc21 ffff ffff ffff
      0000140 ffff ffff ffff ffff ffff ffff ffff ffff
      
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/jedec_id
      c2853b
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/manufacturer
      macronix
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/partname
      mx66lm1g45g
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/sfdp > mx66lm1g45g
      zynq> hexdump mx66lm1g45g
      0000000 4653 5044 0108 fd04 0700 1401 0040 ff00
      0000010 0187 1c01 0090 ff00 000a 0801 0100 ff00
      0000020 0005 0501 0120 ff00 0084 0201 0134 ff00
      0000030 0000 0000 0000 0000 ffff ffff ffff ffff
      0000040 20e5 ff8a ffff 3fff ff00 ff00 ff00 ff00
      0000050 ffee ffff ffff ff00 ffff ff00 200c d810
      0000060 ff00 ff00 6987 0001 1282 e200 02cc 3867
      0000070 b030 b030 bdf4 5cd5 0000 ff00 1010 2000
      0000080 0000 0000 0000 a37c 0048 0000 0000 6666
      0000090 0000 0000 0000 4000 d10f f3ff d10f f3ff
      00000a0 0500 9000 0500 b100 2b00 9500 2b00 9600
      00000b0 7172 b803 7172 b803 0000 0000 a390 8218
      00000c0 c000 9669 0000 0000 0000 0000 7172 9800
      00000d0 7172 b800 7172 9900 0000 0000 7172 9800
      00000e0 7172 f800 7172 9900 7172 f900 0000 0000
      00000f0 0000 0000 1501 d001 7172 d806 0000 5086
      0000100 0000 0106 0000 0000 0002 0301 0200 0000
      0000110 0000 0106 0000 0000 0000 0672 0200 0000
      0000120 ee00 69c0 7272 7171 d800 f6f7 0000 0000
      0000130 3514 001c 0643 000f dc21 ffff ffff ffff
      0000140 ffff ffff ffff ffff ffff ffff ffff ffff
      
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/jedec_id
      c2853a
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/manufacturer
      macronix
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/partname
      mx25lm51245g
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/sfdp > mx25lm51245g
      zynq> hexdump mx25lm51245g
      0000000 4653 5044 0108 fd04 0700 1401 0040 ff00
      0000010 0187 1c01 0090 ff00 000a 0801 0100 ff00
      0000020 0005 0501 0120 ff00 0084 0201 0134 ff00
      0000030 0000 0000 0000 0000 ffff ffff ffff ffff
      0000040 20e5 ff8a ffff 1fff ff00 ff00 ff00 ff00
      0000050 ffee ffff ffff ff00 ffff ff00 200c d810
      0000060 ff00 ff00 7989 0001 128d e200 02cc 4467
      0000070 b030 b030 bdf4 5cd5 0000 ff00 1010 2000
      0000080 0000 0000 0000 a37c 0048 0000 0000 6666
      0000090 0000 0000 0000 4000 d10f f3ff d10f f3ff
      00000a0 0500 9000 0500 b100 2b00 9500 2b00 9600
      00000b0 7172 b803 7172 b803 0000 0000 a390 8218
      00000c0 c000 9669 0000 0000 0000 0000 7172 9800
      00000d0 7172 b800 7172 9900 0000 0000 7172 9800
      00000e0 7172 f800 7172 9900 7172 f900 0000 0000
      00000f0 0000 0000 1501 d001 7172 d806 0000 5086
      0000100 0000 0106 0000 0000 0002 0301 0200 0000
      0000110 0000 0106 0000 0000 0000 0672 0200 0000
      0000120 ee00 69c0 7272 7171 d800 f6f7 0000 0000
      0000130 3514 001c 0643 000f dc21 ffff ffff ffff
      0000140 ffff ffff ffff ffff ffff ffff ffff ffff
      
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/jedec_id
      c2863a
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/manufacturer
      macronix
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/partname
      mx25lw51245g
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/sfdp > mx25lw51245g
      zynq> hexdump mx25lw51245g
      0000000 4653 5044 0108 fd04 0700 1401 0040 ff00
      0000010 0187 1c01 0090 ff00 000a 0801 0100 ff00
      0000020 0005 0501 0120 ff00 0084 0201 0134 ff00
      0000030 0000 0000 0000 0000 0000 0000 0000 0000
      0000040 20e5 ff8a ffff 1fff ff00 ff00 ff00 ff00
      0000050 ffee ffff ffff ff00 ffff ff00 200c d810
      0000060 ff00 ff00 798b 0001 128f e200 04cc 4667
      0000070 b030 b030 bdf4 5cd5 0000 ff00 1010 2000
      0000080 0000 0000 0000 a37c 0048 0000 0000 6666
      0000090 0000 0000 0000 4000 d10f f3ff d10f f3ff
      00000a0 0500 9000 0500 b100 2b00 9500 2b00 9600
      00000b0 7172 b803 7172 b803 0000 0000 a390 8218
      00000c0 c000 9669 0000 0000 0000 0000 7172 9800
      00000d0 7172 b800 7172 9900 0000 0000 7172 9800
      00000e0 7172 f800 7172 9900 7172 f900 0000 0000
      00000f0 0000 0000 1501 d001 7172 d806 0000 5086
      0000100 0000 0106 0000 0000 0002 0301 0200 0000
      0000110 0000 0106 0000 0000 0000 0672 0200 0000
      0000120 ee00 69c0 7272 7171 d800 f6f7 0000 0000
      0000130 3514 001c 0643 000f dc21 ffff ffff ffff
      0000140 ffff ffff ffff ffff ffff ffff ffff ffff
      
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/jedec_id
      c28539
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/manufacturer
      macronix
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/partname
      mx25lm25645g
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/sfdp > mx25lm25645g
      zynq> hexdump mx25lm25645g
      0000000 4653 5044 0108 fd04 0700 1401 0040 ff00
      0000010 0187 1c01 0090 ff00 000a 0801 0100 ff00
      0000020 0005 0501 0120 ff00 0084 0201 0134 ff00
      0000030 0000 0000 0000 0000 ffff ffff ffff ffff
      0000040 20e5 ff8a ffff 0fff ff00 ff00 ff00 ff00
      0000050 ffee ffff ffff ff00 ffff ff00 200c d810
      0000060 ff00 ff00 6987 0001 1282 d200 02cc 3867
      0000070 b030 b030 bdf4 5cd5 0000 ff00 1010 2000
      0000080 0000 0000 0000 a37c 0048 0000 0000 6666
      0000090 0000 0000 0000 4000 d10f f3ff d10f f3ff
      00000a0 0500 9000 0500 b100 2b00 9500 2b00 9600
      00000b0 7172 b803 7172 b803 0000 0000 a390 8218
      00000c0 c000 9669 0000 0000 0000 0000 7172 9800
      00000d0 7172 b800 7172 9900 0000 0000 7172 9800
      00000e0 7172 f800 7172 9900 7172 f900 0000 0000
      00000f0 0000 0000 1501 d001 7172 d806 0000 5086
      0000100 0000 0106 0000 0000 0002 0301 0200 0000
      0000110 0000 0106 0000 0000 0000 0672 0200 0000
      0000120 ee00 69c0 7272 7171 d800 f6f7 0000 0000
      0000130 3514 001c 0643 000f dc21 ffff ffff ffff
      0000140 ffff ffff ffff ffff ffff ffff ffff ffff
      
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/jedec_id
      c2843c
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/manufacturer
      macronix
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/partname
      mx66uw2g345g
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/sfdp > mx66uw2g345g
      zynq> hexdump mx66uw2g345g
      0000000 4653 5044 0108 fd04 0700 1401 0040 ff00
      0000010 0187 1c01 0090 ff00 000a 0801 0100 ff00
      0000020 0005 0501 0120 ff00 0084 0201 0134 ff00
      0000030 0000 0000 0000 0000 ffff ffff ffff ffff
      0000040 20e5 ff8a ffff 7fff ff00 ff00 ff00 ff00
      0000050 ffee ffff ffff ff00 ffff ff00 200c d810
      0000060 ff00 ff00 7987 0001 1284 e200 04cc 4667
      0000070 b030 b030 bdf4 5cd5 0000 ff00 1010 2000
      0000080 0000 0000 0000 237c 0048 0000 0000 8888
      0000090 0000 0000 0000 4000 d10f f3ff d10f f3ff
      00000a0 0500 9000 0500 b100 2b00 9500 2b00 9600
      00000b0 7172 b803 7172 b803 0000 0000 a390 8218
      00000c0 c000 9669 0000 0000 0000 0000 7172 9800
      00000d0 7172 b800 7172 9900 0000 0000 7172 9800
      00000e0 7172 f800 7172 9900 7172 f900 0000 0000
      00000f0 0000 0000 1501 d001 7172 d806 0000 5086
      0000100 0000 0106 0000 0000 0002 0301 0200 0000
      0000110 0000 0106 0000 0000 0000 0672 0200 0000
      0000120 ee00 69c0 7272 7171 d800 f6f7 0a00 0000
      0000130 4514 8098 0643 001f dc21 ffff ffff ffff
      0000140 ffff ffff ffff ffff ffff ffff ffff ffff
      
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/jedec_id
      c2803b
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/manufacturer
      macronix
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/partname
      mx66um1g45g
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/sfdp > mx66um1g45g
      zynq> hexdump mx66um1g45g
      0000000 4653 5044 0108 fd04 0700 1401 0040 ff00
      0000010 0187 1c01 0090 ff00 000a 0801 0100 ff00
      0000020 0005 0501 0120 ff00 0084 0201 0134 ff00
      0000030 0000 0000 0000 0000 ffff ffff ffff ffff
      0000040 20e5 ff8a ffff 3fff ff00 ff00 ff00 ff00
      0000050 ffee ffff ffff ff00 ffff ff00 200c d810
      0000060 ff00 ff00 7989 0001 128d e200 02cc 4467
      0000070 b030 b030 bdf4 5cd5 0000 ff00 1010 2000
      0000080 0000 0000 0000 a37c 0048 0000 0000 8888
      0000090 0000 0000 0000 4000 d10f f3ff d10f f3ff
      00000a0 0500 9000 0500 b100 2b00 9500 2b00 9600
      00000b0 7172 b803 7172 b803 0000 0000 a390 8218
      00000c0 c000 9669 0000 0000 0000 0000 7172 9800
      00000d0 7172 b800 7172 9900 0000 0000 7172 9800
      00000e0 7172 f800 7172 9900 7172 f900 0000 0000
      00000f0 0000 0000 1501 d001 7172 d806 0000 5086
      0000100 0000 0106 0000 0000 0002 0301 0200 0000
      0000110 0000 0106 0000 0000 0000 0672 0200 0000
      0000120 ee00 69c0 7272 7171 d800 f6f7 0a00 0000
      0000130 3514 809c 0643 000f dc21 ffff ffff ffff
      0000140 ffff ffff ffff ffff ffff ffff ffff ffff
      
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/jedec_id
      c2813b
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/manufacturer
      macronix
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/partname
      mx66uw1g45g
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/sfdp > mx66uw1g45g
      zynq> hexdump mx66uw1g45g
      0000000 4653 5044 0108 fd04 0700 1401 0040 ff00
      0000010 0187 1c01 0090 ff00 000a 0801 0100 ff00
      0000020 0005 0501 0120 ff00 0084 0201 0134 ff00
      0000030 0000 0000 0000 0000 ffff ffff ffff ffff
      0000040 20e5 ff8a ffff 3fff ff00 ff00 ff00 ff00
      0000050 ffee ffff ffff ff00 ffff ff00 200c d810
      0000060 ff00 ff00 798b 0001 128f e200 04cc 4667
      0000070 b030 b030 bdf4 5cd5 0000 ff00 1010 2000
      0000080 0000 0000 0000 a37c 0048 0000 0000 8888
      0000090 0000 0000 0000 4000 d10f f3ff d10f f3ff
      00000a0 0500 9000 0500 b100 2b00 9500 2b00 9600
      00000b0 7172 b803 7172 b803 0000 0000 a390 8218
      00000c0 c000 9669 0000 0000 0000 0000 7172 9800
      00000d0 7172 b800 7172 9900 0000 0000 7172 9800
      00000e0 7172 f800 7172 9900 7172 f900 0000 0000
      00000f0 0000 0000 1501 d001 7172 d806 0000 5086
      0000100 0000 0106 0000 0000 0002 0301 0200 0000
      0000110 0000 0106 0000 0000 0000 0672 0200 0000
      0000120 ee00 69c0 7272 7171 d800 f6f7 0a00 0000
      0000130 4514 8098 0643 000f dc21 ffff ffff ffff
      0000140 ffff ffff ffff ffff ffff ffff ffff ffff
      
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/jedec_id
      c2813a
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/manufacturer
      macronix
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/partname
      mx25uw51245g
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/sfdp > mx25uw51245g
      zynq> hexdump mx25uw51245g
      0000000 4653 5044 0108 fd04 0700 1401 0040 ff00
      0000010 0187 1c01 0090 ff00 000a 0801 0100 ff00
      0000020 0005 0501 0120 ff00 0084 0201 0134 ff00
      0000030 0000 0000 0000 0000 ffff ffff ffff ffff
      0000040 20e5 ff8a ffff 1fff ff00 ff00 ff00 ff00
      0000050 ffee ffff ffff ff00 ffff ff00 200c d810
      0000060 ff00 ff00 798b 0001 128f e200 04cc 4667
      0000070 b030 b030 bdf4 5cd5 0000 ff00 1010 2000
      0000080 0000 0000 0000 a37c 0048 0000 0000 7777
      0000090 0000 0000 0000 4000 d10f f3ff d10f f3ff
      00000a0 0500 9000 0500 b100 2b00 9500 2b00 9600
      00000b0 7172 b803 7172 b803 0000 0000 a390 8218
      00000c0 c000 9669 0000 0000 0000 0000 7172 9800
      00000d0 7172 b800 7172 9900 0000 0000 7172 9800
      00000e0 7172 f800 7172 9900 7172 f900 0000 0000
      00000f0 0000 0000 1501 d001 7172 d806 0000 5086
      0000100 0000 0106 0000 0000 0002 0301 0200 0000
      0000110 0000 0106 0000 0000 0000 0672 0200 0000
      0000120 ee00 69c0 7272 7171 d800 f6f7 0000 0000
      0000130 4514 8098 0643 000f dc21 ffff ffff ffff
      0000140 ffff ffff ffff ffff ffff ffff ffff ffff
      
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/jedec_id
      c2843a
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/manufacturer
      macronix
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/partname
      mx25uw51345g
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/sfdp > mx25uw51345g
      zynq> hexdump mx25uw51345g
      0000000 4653 5044 0108 fd04 0700 1401 0040 ff00
      0000010 0187 1c01 0090 ff00 000a 0801 0100 ff00
      0000020 0005 0501 0120 ff00 0084 0201 0134 ff00
      0000030 0000 0000 0000 0000 ffff ffff ffff ffff
      0000040 20e5 ff8a ffff 1fff ff00 ff00 ff00 ff00
      0000050 ffee ffff ffff ff00 ffff ff00 200c d810
      0000060 ff00 ff00 798b 0001 128f e200 04cc 4667
      0000070 b030 b030 bdf4 5cd5 0000 ff00 1010 2000
      0000080 0000 0000 0000 237c 0048 0000 0000 8888
      0000090 0000 0000 0000 4000 d10f f3ff d10f f3ff
      00000a0 0500 9000 0500 b100 2b00 9500 2b00 9600
      00000b0 7172 b803 7172 b803 0000 0000 a390 8218
      00000c0 c000 9669 0000 0000 0000 0000 7172 9800
      00000d0 7172 b800 7172 9900 0000 0000 7172 9800
      00000e0 7172 f800 7172 9900 7172 f900 0000 0000
      00000f0 0000 0000 1501 d001 7172 d806 0000 5086
      0000100 0000 0106 0000 0000 0002 0301 0200 0000
      0000110 0000 0106 0000 0000 0000 0672 0200 0000
      0000120 ee00 69c0 7272 7171 d800 f6f7 0a00 0000
      0000130 4514 8098 0643 000f dc21 ffff ffff ffff
      0000140 ffff ffff ffff ffff ffff ffff ffff ffff
      
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/jedec_id
      c28039
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/manufacturer
      macronix
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/partname
      mx25um25645g
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/sfdp > mx25um25645g
      zynq> random: fast init done
      zynq> hexdump mx25um25645g
      0000000 4653 5044 0108 fd04 0700 1401 0040 ff00
      0000010 0187 1c01 0090 ff00 000a 0801 0100 ff00
      0000020 0005 0501 0120 ff00 0084 0201 0134 ff00
      0000030 0000 0000 0000 0000 ffff ffff ffff ffff
      0000040 20e5 ff8a ffff 0fff ff00 ff00 ff00 ff00
      0000050 ffee ffff ffff ff00 ffff ff00 200c d810
      0000060 ff00 ff00 7987 0001 1284 d200 02cc 3867
      0000070 b030 b030 bdf4 5cd5 0000 ff00 1010 2000
      0000080 0000 0000 0000 a37c 0048 0000 0000 8888
      0000090 0000 0000 0000 4000 d10f f3ff d10f f3ff
      00000a0 0500 9000 0500 b100 2b00 9500 2b00 9600
      00000b0 7172 b803 7172 b803 0000 0000 a390 8218
      00000c0 c000 9669 0000 0000 0000 0000 7172 9800
      00000d0 7172 b800 7172 9900 0000 0000 7172 9800
      00000e0 7172 f800 7172 9900 7172 f900 0000 0000
      00000f0 0000 0000 1501 d001 7172 d806 0000 5086
      0000100 0000 0106 0000 0000 0002 0301 0200 0000
      0000110 0000 0106 0000 0000 0000 0672 0200 0000
      0000120 ee00 69c0 7272 7171 d800 f6f7 0a00 0000
      0000130 3514 809c 0643 000f dc21 ffff ffff ffff
      0000140 ffff ffff ffff ffff ffff ffff ffff ffff
      
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/jedec_id
      c28139
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/manufacturer
      macronix
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/partname
      mx25uw25645g
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/sfdp > mx25uw25645g
      zynq> hexdump mx25uw25645g
      0000000 4653 5044 0108 fd04 0700 1401 0040 ff00
      0000010 0187 1c01 0090 ff00 000a 0801 0100 ff00
      0000020 0005 0501 0120 ff00 0084 0201 0134 ff00
      0000030 0000 0000 0000 0000 ffff ffff ffff ffff
      0000040 20e5 ff8a ffff 0fff ff00 ff00 ff00 ff00
      0000050 ffee ffff ffff ff00 ffff ff00 200c d810
      0000060 ff00 ff00 7989 0001 128d d200 04cc 4667
      0000070 b030 b030 bdf4 5cd5 0000 ff00 1010 2000
      0000080 0000 0000 0000 a37c 0048 0000 0000 8888
      0000090 0000 0000 0000 4000 d10f f3ff d10f f3ff
      00000a0 0500 9000 0500 b100 2b00 9500 2b00 9600
      00000b0 7172 b803 7172 b803 0000 0000 a390 8218
      00000c0 c000 9669 0000 0000 0000 0000 7172 9800
      00000d0 7172 b800 7172 9900 0000 0000 7172 9800
      00000e0 7172 f800 7172 9900 7172 f900 0000 0000
      00000f0 0000 0000 1501 d001 7172 d806 0000 5086
      0000100 0000 0106 0000 0000 0002 0301 0200 0000
      0000110 0000 0106 0000 0000 0000 0672 0200 0000
      0000120 ee00 69c0 7272 7171 d800 f6f7 0a00 0000
      0000130 4514 8098 0643 000f dc21 ffff ffff ffff
      0000140 ffff ffff ffff ffff ffff ffff ffff ffff
      
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/jedec_id
      c28339
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/manufacturer
      macronix
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/partname
      mx25um25345g
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/sfdp > mx25um25345g
      zynq> hexdump mx25um25345g
      0000000 4653 5044 0108 fd04 0700 1401 0040 ff00
      0000010 0187 1c01 0090 ff00 000a 0801 0100 ff00
      0000020 0005 0501 0120 ff00 0084 0201 0134 ff00
      0000030 0000 0000 0000 0000 ffff ffff ffff ffff
      0000040 20e5 ff8a ffff 0fff ff00 ff00 ff00 ff00
      0000050 ffee ffff ffff ff00 ffff ff00 200c d810
      0000060 ff00 ff00 6987 0001 1282 d200 02cc 3867
      0000070 b030 b030 bdf4 5cd5 0000 ff00 1010 2000
      0000080 0000 0000 0000 237c 0048 0000 0000 8888
      0000090 0000 0000 0000 4000 d10f f3ff d10f f3ff
      00000a0 0500 9000 0500 b100 2b00 9500 2b00 9600
      00000b0 7172 b803 7172 b803 0000 0000 a390 8218
      00000c0 c000 9669 0000 0000 0000 0000 7172 9800
      00000d0 7172 b800 7172 9900 0000 0000 7172 9800
      00000e0 7172 f800 7172 9900 7172 f900 0000 0000
      00000f0 0000 0000 1501 d001 7172 d806 0000 5086
      0000100 0000 0106 0000 0000 0002 0301 0200 0000
      0000110 0000 0106 0000 0000 0000 0672 0200 0000
      0000120 ee00 69c0 7272 7171 d800 f6f7 0904 0000
      0000130 4514 8098 0643 000f dc21 ffff ffff ffff
      0000140 ffff ffff ffff ffff ffff ffff ffff ffff
      
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/jedec_id
      c28439
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/manufacturer
      macronix
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/partname
      mx25uw25345g
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/sfdp > mx25uw25345g
      zynq> hexdump mx25uw25345g
      0000000 4653 5044 0108 fd04 0700 1401 0040 ff00
      0000010 0187 1c01 0090 ff00 000a 0801 0100 ff00
      0000020 0005 0501 0120 ff00 0084 0201 0134 ff00
      0000030 0000 0000 0000 0000 ffff ffff ffff ffff
      0000040 20e5 ff8a ffff 0fff ff00 ff00 ff00 ff00
      0000050 ffee ffff ffff ff00 ffff ff00 200c d810
      0000060 ff00 ff00 7987 0001 1284 d200 04cc 4667
      0000070 b030 b030 bdf4 5cd5 0000 ff00 1010 2000
      0000080 0000 0000 0000 237c 0048 0000 0000 8888
      0000090 0000 0000 0000 4000 d10f f3ff d10f f3ff
      00000a0 0500 9000 0500 b100 2b00 9500 2b00 9600
      00000b0 7172 b803 7172 b803 0000 0000 a390 8218
      00000c0 c000 9669 0000 0000 0000 0000 7172 9800
      00000d0 7172 b800 7172 9900 0000 0000 7172 9800
      00000e0 7172 f800 7172 9900 7172 f900 0000 0000
      00000f0 0000 0000 1501 d001 7172 d806 0000 5086
      0000100 0000 0106 0000 0000 0002 0301 0200 0000
      0000110 0000 0106 0000 0000 0000 0672 0200 0000
      0000120 ee00 69c0 7272 7171 d800 f6f7 0a00 0000
      0000130 4514 8098 0643 000f dc21 ffff ffff ffff
      0000140 ffff ffff ffff ffff ffff ffff ffff ffff
      
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/jedec_id
      c28138
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/manufacturer
      macronix
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/partname
      mx25uw12845g
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/sfdp > mx25uw12845g
      zynq> hexdump mx25uw12845g
      0000000 4653 5044 0108 fd04 0700 1401 0040 ff00
      0000010 0187 1c01 0090 ff00 000a 0801 0100 ff00
      0000020 0005 0501 0120 ff00 0084 0201 0134 ff00
      0000030 0000 0000 0000 0000 0000 0000 0000 0000
      0000040 20e5 ff8a ffff 07ff ff00 ff00 ff00 ff00
      0000050 ffee ffff ffff ff00 ffff ff00 200c d810
      0000060 ff00 ff00 798b 0001 128f c900 04cc 4667
      0000070 b030 b030 bdf4 5cd5 0000 ff00 1010 2000
      0000080 0000 0000 0000 a37c 0048 0000 0000 8888
      0000090 0000 0000 0000 4000 d10f f3ff d10f f3ff
      00000a0 0500 9000 0500 b100 2b00 9500 2b00 9600
      00000b0 7172 b803 7172 b803 0000 0000 a390 8218
      00000c0 c000 9669 0000 0000 0000 0000 7172 9800
      00000d0 7172 b800 7172 9900 0000 0000 7172 9800
      00000e0 7172 f800 7172 9900 7172 f900 0000 0000
      00000f0 0000 0000 1501 d001 7172 d806 0000 5086
      0000100 0000 0106 0000 0000 0002 0301 0200 0000
      0000110 0000 0106 0000 0000 0000 0672 0200 0000
      0000120 ee00 69c0 7272 7171 d800 f6f7 0a00 0000
      0000130 4514 8098 0643 000f dc21 ffff ffff ffff
      0000140 ffff ffff ffff ffff ffff ffff ffff ffff
      
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/jedec_id
      c28438
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/manufacturer
      macronix
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/partname
      mx25uw12345g
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/sfdp > mx25uw12345g
      zynq> hexdump mx25uw12345g
      0000000 4653 5044 0108 fd04 0700 1401 0040 ff00
      0000010 0187 1c01 0090 ff00 000a 0801 0100 ff00
      0000020 0005 0501 0120 ff00 0084 0201 0134 ff00
      0000030 0000 0000 0000 0000 ffff ffff ffff ffff
      0000040 20e5 ff8a ffff 07ff ff00 ff00 ff00 ff00
      0000050 ffee ffff ffff ff00 ffff ff00 200c d810
      0000060 ff00 ff00 798b 0001 128f c900 04cc 4667
      0000070 b030 b030 bdf4 5cd5 0000 ff00 1010 2000
      0000080 0000 0000 0000 237c 0048 0000 0000 8888
      0000090 0000 0000 0000 4000 d10f f3ff d10f f3ff
      00000a0 0500 9000 0500 b100 2b00 9500 2b00 9600
      00000b0 7172 b803 7172 b803 0000 0000 a390 8218
      00000c0 c000 9669 0000 0000 0000 0000 7172 9800
      00000d0 7172 b800 7172 9900 0000 0000 7172 9800
      00000e0 7172 f800 7172 9900 7172 f900 0000 0000
      00000f0 0000 0000 1501 d001 7172 d806 0000 5086
      0000100 0000 0106 0000 0000 0002 0301 0200 0000
      0000110 0000 0106 0000 0000 0000 0672 0200 0000
      0000120 ee00 69c0 7272 7171 d800 f6f7 0a00 0000
      0000130 4514 8098 0643 000f dc21 ffff ffff ffff
      0000140 ffff ffff ffff ffff ffff ffff ffff ffff
      
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/jedec_id
      c28137
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/manufacturer
      macronix
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/partname
      mx25uw6445g
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/sfdp > mx25uw6445g
      zynq> hexdump mx25uw6445g
      0000000 4653 5044 0108 fd04 0700 1401 0040 ff00
      0000010 0187 1c01 0090 ff00 000a 0801 0100 ff00
      0000020 0005 0501 0120 ff00 0084 0201 0134 ff00
      0000030 0000 0000 0000 0000 ffff ffff ffff ffff
      0000040 20e5 ff8a ffff 03ff ff00 ff00 ff00 ff00
      0000050 ffee ffff ffff ff00 ffff ff00 200c d810
      0000060 ff00 ff00 7989 0001 128d c400 04cc 4667
      0000070 b030 b030 bdf4 5cd5 0000 ff00 1010 2000
      0000080 0000 0000 0000 a37c 0048 0000 0000 8888
      0000090 0000 0000 0000 4000 d10f f3ff d10f f3ff
      00000a0 0500 9000 0500 b100 2b00 9500 2b00 9600
      00000b0 7172 b803 7172 b803 0000 0000 a390 8218
      00000c0 c000 9669 0000 0000 0000 0000 7172 9800
      00000d0 7172 b800 7172 9900 0000 0000 7172 9800
      00000e0 7172 f800 7172 9900 7172 f900 0000 0000
      00000f0 0000 0000 1501 d001 7172 d806 0000 5086
      0000100 0000 0106 0000 0000 0002 0301 0200 0000
      0000110 0000 0106 0000 0000 0000 0672 0200 0000
      0000120 ee00 69c0 7272 7171 d800 f6f7 0a00 0000
      0000130 4514 8098 0643 000f dc21 ffff ffff ffff
      0000140 ffff ffff ffff ffff ffff ffff ffff ffff
      
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/jedec_id
      c28437
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/manufacturer
      macronix
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/partname
      mx25uw6345g
      zynq> cat /sys/bus/spi/devices/spi0.0/spi-nor/sfdp > mx25uw6345g
      zynq> hexdump mx25uw6345g
      0000000 4653 5044 0108 fd04 0700 1401 0040 ff00
      0000010 0187 1c01 0090 ff00 000a 0801 0100 ff00
      0000020 0005 0501 0120 ff00 0084 0201 0134 ff00
      0000030 0000 0000 0000 0000 ffff ffff ffff ffff
      0000040 20e5 ff8a ffff 03ff ff00 ff00 ff00 ff00
      0000050 ffee ffff ffff ff00 ffff ff00 200c d810
      0000060 ff00 ff00 798b 0001 128f c400 04cc 4667
      0000070 b030 b030 bdf4 5cd5 0000 ff00 1010 2000
      0000080 0000 0000 0000 237c 0048 0000 0000 8888
      0000090 0000 0000 0000 4000 d10f f3ff d10f f3ff
      00000a0 0500 9000 0500 b100 2b00 9500 2b00 9600
      00000b0 7172 b803 7172 b803 0000 0000 a390 8218
      00000c0 c000 9669 0000 0000 0000 0000 7172 9800
      00000d0 7172 b800 7172 9900 0000 0000 7172 9800
      00000e0 7172 f800 7172 9900 7172 f900 0000 0000
      00000f0 0000 0000 1501 d001 7172 d806 0000 5086
      0000100 0000 0106 0000 0000 0002 0301 0200 0000
      0000110 0000 0106 0000 0000 0000 0672 0200 0000
      0000120 ee00 69c0 7272 7171 d800 f6f7 0a00 0000
      0000130 4514 8098 0643 000f dc21 ffff ffff ffff
      0000140 ffff ffff ffff ffff ffff ffff ffff ffff
      
      Signed-off-by: default avatarJaimeLiao <jaimeliao.tw@gmail.com>
      Reviewed-by: default avatarJagan Teki <jagan@amarulasolutions.com>
      4290ed78
    • Jan Kiszka's avatar
      sf: Query write-protection status before operating the flash · f3a56dda
      Jan Kiszka authored
      
      Do not suggest successful operation if a flash area to be changed is
      actually locked, thus will not execute the request. Rather report an
      error and bail out. That's way more user-friendly than asking them to
      manually check for this case.
      
      Derived from original patch by Chao Zeng.
      
      Signed-off-by: default avatarJan Kiszka <jan.kiszka@siemens.com>
      Acked-by: default avatarJagan Teki <jagan@amarulasolutions.com>
      f3a56dda
    • Jan Kiszka's avatar
      mtd: spi: Convert is_locked callback to is_unlocked · 513c6071
      Jan Kiszka authored
      
      There was no user of this callback after 5b66fdb2 anymore, and its
      semantic as now inconsistent between stm and sst26. What we need for the
      upcoming new usecase is a "completely unlocked" semantic. So consolidate
      over this.
      
      Signed-off-by: default avatarJan Kiszka <jan.kiszka@siemens.com>
      Acked-by: default avatarJagan Teki <jagan@amarulasolutions.com>
      513c6071
    • Vaishnav Achath's avatar
      spl: spl_spi: add spi_nor_remove() to soft reset flash · cd2f9031
      Vaishnav Achath authored
      
      On probe, the SPI NOR core will put a flash in 8D mode if it
      supports it. But Linux as of now expects to get the flash in
      1S mode. Handing the flash to Linux in Octal DTR mode means
      the kernel will fail to detect the flash.
      
      This commit adds an option to soft reset the flash after
      spl_spi_load_image() so that the flash can be reset to 1S mode
      and subsequent spi-nor probe in Linux does not fail, since
      spl_spi_load_image() performs spi_flash_probe() the remove is
      added after completion loading images in spi_flash_probe() itself.
      
      Tested on J721E EVM with 5.10 Linux kernel.
      
      Linux spi-nor probe without the fix:
      root@j7-evm:~# dmesg | grep spi-nor
      [    4.928023] spi-nor spi0.0: unrecognized JEDEC id bytes: ff ff ff ff ff ff
      [    4.934938] spi-nor: probe of spi0.0 failed with error -2
      
      Linux spi-nor probe with the fix:
      root@j7-evm:~# dmesg | grep spi-nor
      [    4.904484] spi-nor spi0.0: mt35xu512aba (65536 Kbytes)
      
      Signed-off-by: default avatarVaishnav Achath <vaishnav.a@ti.com>
      Acked-by: default avatarJagan Teki <jagan@amarulasolutions.com>
      cd2f9031
    • JaimeLiao's avatar
      mtd: spi-nor: Parse SFDP SCCR Map · bebdc237
      JaimeLiao authored
      
      Parse SCCR 22nd dword and check DTR Octal Mode Enable
      Volatile bit for Octal DTR enable
      
      Signed-off-by: default avatarJaimeLiao <jaimeliao.tw@gmail.com>
      Reviewed-by: default avatarJagan Teki <jagan@amarulasolutions.com>
      bebdc237
    • JaimeLiao's avatar
      mtd: spi-nor-core: Adding different type of command extension in Soft Reset · 68ad73b7
      JaimeLiao authored
      
      Power-on-Reset is a method to restore flash back to 1S-1S-1S mode from 8D-8D-8D
      in the begging of probe.
      
      Command extension type is not standardized across flash vendors in DTR mode.
      
      For suiting different vendor flash devices, adding a flag to seperate types for
      soft reset on boot.
      
      Signed-off-by: default avatarJaimeLiao <jaimeliao.tw@gmail.com>
      Reviewed-by: default avatarJagan Teki <jagan@amarulasolutions.com>
      68ad73b7
    • JaimeLiao's avatar
      mtd: spi-nor: add support for Macronix Octal flash · df3d5f9e
      JaimeLiao authored
      Follow patch <f6adec1a> (Allow using Micron mt35xu512aba
      in Octal DTR mode).
      Enable Octal DTR mode with 20 dummy cycles to allow running at the
      maximum supported frequency for adding Macronix flash in Octal DTR mode.
       -https://www.mxic.com.tw/Lists/Datasheet/Attachments/7841/MX25LM51245G,%203V,%20512Mb,%20v1.1.pdf
      
      
      
      Signed-off-by: default avatarJaimeLiao <jaimeliao.tw@gmail.com>
      Reviewed-by: default avatarJagan Teki <jagan@amarulasolutions.com>
      df3d5f9e
  2. Jul 14, 2022
  3. Jul 13, 2022
Loading