On Wed, Feb 7, 2018 at 2:54 PM, Stefan Mavrodiev
<stefan.mavrod...@gmail.com> wrote:
> On 02/07/2018 09:25 AM, Jagan Teki wrote:
>>
>> On Wed, Feb 7, 2018 at 12:35 PM, Stefan Mavrodiev
>> <stefan.mavrod...@gmail.com> wrote:
>>>
>>> On 02/07/2018 08:39 AM, Jagan Teki wrote:
>>>>
>>>> On Wed, Feb 7, 2018 at 12:00 PM, Stefan Mavrodiev
>>>> <stefan.mavrod...@gmail.com> wrote:
>>>>>
>>>>> On 02/06/2018 06:48 PM, Jagan Teki wrote:
>>>>>>
>>>>>> On Tue, Feb 6, 2018 at 6:44 PM, Stefan Mavrodiev <ste...@olimex.com>
>>>>>> wrote:
>>>>>>>
>>>>>>> Driver testing is done with A20-OLinuXino-Lime2. Testing
>>>>>>> requirements are:
>>>>>>>      - Exposing spi0 alternative pins in the dts file
>>>>>>>      - Add alias node, enabling driver probing
>>>>>>>      - Add flash sub-node of spi
>>>>>>>      - Enable spi flash related options in the defconfig file
>>>>>>>
>>>>>>> The testing log is:
>>>>>>>
>>>>>>>      U-Boot SPL 2018.03-rc1-00075-g35a689a-dirty (Feb 06 2018 -
>>>>>>> 14:40:07
>>>>>>> +0200)
>>>>>>>      DRAM: 1024 MiB
>>>>>>>      CPU: 912000000Hz, AXI/AHB/APB: 3/2/2
>>>>>>>      Trying to boot from FEL
>>>>>>
>>>>>> Why FEL? can't it boot from SPI-FLASH?
>>>>>
>>>>> Because I previously erased the flash during testing. Here is same,
>>>>> booting
>>>>> from SPI:
>>>>>
>>>>>     U-Boot SPL 2018.03-rc1-00075-g61ce225 (Feb 07 2018 - 08:21:07
>>>>> +0200)
>>>>>     DRAM: 1024 MiB
>>>>>     CPU: 912000000Hz, AXI/AHB/APB: 3/2/2
>>>>>     Trying to boot from sunxi SPI
>>>>>
>>>>>
>>>>>     U-Boot 2018.03-rc1-00075-g61ce225 (Feb 07 2018 - 08:21:07 +0200)
>>>>> Allwinner
>>>>> Technology
>>>>>
>>>>>
>>>>>     CPU:   Allwinner A20 (SUN7I)
>>>>>     Model: Olimex A20-OLinuXino-LIME2
>>>>>     I2C:   ready
>>>>>     DRAM:  1 GiB
>>>>>     MMC:   SUNXI SD/MMC: 0
>>>>>     Loading Environment from SPI Flash... SF: Detected w25q128bv with
>>>>> page
>>>>> size 256 Bytes, erase size 4 KiB, total 16 MiB
>>>>>     OK
>>>>>     In:    serial
>>>>>     Out:   serial
>>>>>     Err:   serial
>>>>>     Allwinner mUSB OTG (Peripheral)
>>>>>     SCSI:  SATA link 0 timeout.
>>>>>     AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
>>>>>     flags: ncq stag pm led clo only pmp pio slum part ccc apst
>>>>>     Net:   No ethernet found.
>>>>>     starting USB...
>>>>>     USB0:   USB EHCI 1.00
>>>>>     USB1:   USB OHCI 1.0
>>>>>     USB2:   USB EHCI 1.00
>>>>>     USB3:   USB OHCI 1.0
>>>>>     scanning bus 0 for devices... 1 USB Device(s) found
>>>>>     scanning bus 2 for devices... 1 USB Device(s) found
>>>>>            scanning usb for storage devices... 0 Storage Device(s)
>>>>> found
>>>>>     Hit any key to stop autoboot:
>>>>>>
>>>>>>
>>>>>>>      U-Boot 2018.03-rc1-00075-g35a689a-dirty (Feb 06 2018 - 14:40:07
>>>>>>> +0200)
>>>>>>> Allwinner Technology
>>>>>>>
>>>>>>>      CPU:   Allwinner A20 (SUN7I)
>>>>>>>      Model: Olimex A20-OLinuXino-LIME2
>>>>>>>      I2C:   ready
>>>>>>>      DRAM:  1 GiB
>>>>>>>      MMC:   SUNXI SD/MMC: 0
>>>>>>>      Loading Environment from SPI Flash... SF: Detected w25q128bv
>>>>>>> with
>>>>>>> page
>>>>>>> size 256 Bytes, erase size 4 KiB, total 16 MiB
>>>>>>>      OK
>>>>>>>      In:    serial
>>>>>>>      Out:   serial
>>>>>>>      Err:   serial
>>>>>>>      Allwinner mUSB OTG (Peripheral)
>>>>>>>      SCSI:  SATA link 0 timeout.
>>>>>>>      AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
>>>>>>>      flags: ncq stag pm led clo only pmp pio slum part ccc apst
>>>>>>>      Net:   No ethernet found.
>>>>>>>      starting USB...
>>>>>>>      USB0:   USB EHCI 1.00
>>>>>>>      USB1:   USB OHCI 1.0
>>>>>>>      USB2:   USB EHCI 1.00
>>>>>>>      USB3:   USB OHCI 1.0
>>>>>>>      scanning bus 0 for devices... 1 USB Device(s) found
>>>>>>>      scanning bus 2 for devices... 1 USB Device(s) found
>>>>>>>             scanning usb for storage devices... 0 Storage Device(s)
>>>>>>> found
>>>>>>>      Hit any key to stop autoboot:  0
>>>>>>>
>>>>>>>      # Probe device
>>>>>>>      => sf probe
>>>>>>>      SF: Detected w25q128bv with page size 256 Bytes, erase size 4
>>>>>>> KiB,
>>>>>>> total 16 MiB
>>>>>>
>>>>>> How did this resolved w/o sspi?
>>>>>
>>>>> I enabled both CONFIG_SPI_FLASH and CONFIG_DM_SPI_FLASH. The
>>>>> driver-model
>>>>> search for
>>>>> "spi-flash" compatible string, probe it and bind it to the spi driver.
>>>>>>
>>>>>>
>>>>>>>      # Erase
>>>>>>>      => sf erase 0x1000 0x100
>>>>>>>      SF: 256 bytes @ 0x1000 Erased: ERROR
>>>>>>>      => sf erase 0x1000 0x1000
>>>>>>>      SF: 4096 bytes @ 0x1000 Erased: OK
>>>>>>>
>>>>>>>      # Test
>>>>>>>      => sf test 0 100000
>>>>>>>      SPI flash test:
>>>>>>>      0 erase: 12104 ticks, 84 KiB/s 0.672 Mbps
>>>>>>>      1 check: 8881 ticks, 115 KiB/s 0.920 Mbps
>>>>>>>      2 write: 10824 ticks, 94 KiB/s 0.752 Mbps
>>>>>>>      3 read: 8872 ticks, 115 KiB/s 0.920 Mbps
>>>>>>>      Test passed
>>>>>>>      0 erase: 12104 ticks, 84 KiB/s 0.672 Mbps
>>>>>>>      1 check: 8881 ticks, 115 KiB/s 0.920 Mbps
>>>>>>>      2 write: 10824 ticks, 94 KiB/s 0.752 Mbps
>>>>>>>      3 read: 8872 ticks, 115 KiB/s 0.920 Mbps
>>>>>>>
>>>>>>>      # Try write/read
>>>>>>>      => sf erase 0x1000 0x1000
>>>>>>>      SF: 4096 bytes @ 0x1000 Erased: OK
>>>>>>>
>>>>>>>      => md.b 0x50000000 0x100
>>>>>>>      50000000: a9 4d b7 68 d2 48 69 c3 09 78 fa d3 33 66 e9 53
>>>>>>> .M.h.Hi..x..3f.S
>>>>>>>      50000010: b0 53 af 79 ad 33 79 b1 f1 e3 1d 09 2e ba dd dc
>>>>>>> .S.y.3y.........
>>>>>>>      50000020: 8c eb eb 53 f4 ef 66 89 b5 e9 f6 fb af 73 7f cb
>>>>>>> ...S..f......s..
>>>>>>>      50000030: b6 4b bf de c3 fd de bb 9a 53 ad 7d ef 38 6f bf
>>>>>>> .K.......S.}.8o.
>>>>>>>      50000040: fd fb e7 5e e9 db fc 0c fc f7 be 76 ad b9 fd eb
>>>>>>> ...^.......v....
>>>>>>>      50000050: f3 ed 5f b5 bb bd ba 8f ff df 1f bf f3 ff fb d7
>>>>>>> .._.............
>>>>>>>      50000060: b7 6e 9e 5f af 7a 62 ed 7f 66 1b 6d fd fb 47 f7
>>>>>>> .n._.zb..f.m..G.
>>>>>>>      50000070: b7 fa f4 db d5 b6 d5 ff 81 e6 f5 d9 8f ef ff db
>>>>>>> ................
>>>>>>>      50000080: b7 dd bd fb f3 1d 9d 2f f6 db c8 7f fb cf b9 f3
>>>>>>> ......./........
>>>>>>>      50000090: 3c ee da 2f b7 5e 6f bc f1 2f 2b cf 3f f2 fb ee
>>>>>>> <../.^o../+.?...
>>>>>>>      500000a0: 6f 5e 99 c3 3b 51 bd d4 be 40 4e db ab ed f9 77
>>>>>>> o^..;Q...@N....w
>>>>>>>      500000b0: 9f f6 7d ed 54 4a 68 f8 7d ee 53 9b ff ae ef e4
>>>>>>> ..}.TJh.}.S.....
>>>>>>>      500000c0: 73 ff 3c c7 f7 df f6 be bf 0f 97 96 3d 9b 9e 9f
>>>>>>> s.<.........=...
>>>>>>>      500000d0: e4 49 ca ff be fa ff df f7 7a cf ab 7f 7a 7b cf
>>>>>>> .I.......z...z{.
>>>>>>>      500000e0: bb c7 9f 3f c1 99 f2 f2 bf ee cf fb d5 b9 e2 e8
>>>>>>> ...?............
>>>>>>>      500000f0: ec e8 b2 bd 21 1f 5a ef 7a 7d 9d ad 31 89 3f 6f
>>>>>>> ....!.Z.z}..1.?o
>>>>>>>
>>>>>>>      => sf write 0x50000000 0x1000 0x100
>>>>>>>      device 0 offset 0x1000, size 0x100
>>>>>>>      SF: 256 bytes @ 0x1000 Written: OK
>>>>>>>      => sf read 0x51000000 0x1000 0x100
>>>>>>>      device 0 offset 0x1000, size 0x100
>>>>>>>      SF: 256 bytes @ 0x1000 Read: OK
>>>>>>>
>>>>>>>      => cmp.b 0x50000000 0x51000000 0x100
>>>>>>>      Total of 256 byte(s) were the same
>>>>>>>
>>>>>>> Signed-off-by: Stefan Mavrodiev <ste...@olimex.com>
>>>>>>> ---
>>>>>>>     arch/arm/dts/sun7i-a20-olinuxino-lime2.dts | 30
>>>>>>> ++++++++++++++++++++++++++++++
>>>>>>>     configs/A20-OLinuXino-Lime2_defconfig      | 11 +++++++++++
>>>>>>>     drivers/mtd/spi/Makefile                   |  4 +++-
>>>>>>>     include/configs/sunxi-common.h             |  2 ++
>>>>>>>     4 files changed, 46 insertions(+), 1 deletion(-)
>>>>>>>
>>>>>>> diff --git a/arch/arm/dts/sun7i-a20-olinuxino-lime2.dts
>>>>>>> b/arch/arm/dts/sun7i-a20-olinuxino-lime2.dts
>>>>>>> index d5c796c..a6ee87c 100644
>>>>>>> --- a/arch/arm/dts/sun7i-a20-olinuxino-lime2.dts
>>>>>>> +++ b/arch/arm/dts/sun7i-a20-olinuxino-lime2.dts
>>>>>>> @@ -54,6 +54,7 @@
>>>>>>>
>>>>>>>            aliases {
>>>>>>>                    serial0 = &uart0;
>>>>>>> +               spi0 = &spi0;
>>>>>>>            };
>>>>>>>
>>>>>>>            chosen {
>>>>>>> @@ -215,6 +216,20 @@
>>>>>>>                    allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
>>>>>>>            };
>>>>>>>
>>>>>>> +       spi0_pins_b: spi0@1 {
>>>>>>> +               allwinner,pins = "PC0", "PC1", "PC2";
>>>>>>> +               allwinner,function = "spi0";
>>>>>>> +               allwinner,drive = <SUN4I_PINCTRL_10_MA>;
>>>>>>> +               allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
>>>>>>> +       };
>>>>>>> +
>>>>>>> +       spi0_cs0_pins_b: spi0_cs0@1 {
>>>>>>> +               allwinner,pins = "PC23";
>>>>>>> +               allwinner,function = "spi0";
>>>>>>> +               allwinner,drive = <SUN4I_PINCTRL_10_MA>;
>>>>>>> +               allw inner,pull = <SUN4I_PINCTRL_NO_PULL>;
>>>>>>> +       };
>>>>>>> +
>>>>>>>            usb0_id_detect_pin: usb0_id_detect_pin@0 {
>>>>>>>                    allwinner,pins = "PH4";
>>>>>>>                    allwinner,function = "gpio_in";
>>>>>>> @@ -257,6 +272,21 @@
>>>>>>>            status = "okay";
>>>>>>>     };
>>>>>>>
>>>>>>> +&spi0 {
>>>>>>> +       pinctrl-names = "default";
>>>>>>> +       pinctrl-0 = <&spi0_pins_b>, <&spi0_cs0_pins_b>;
>>>>>>> +       status = "okay";
>>>>>>> +
>>>>>>> +       flash: w25q128@0 {
>>>>>>
>>>>>> Was it sync from Linux?
>>>>>
>>>>> No, this isn't in the linux dts.
>>>>
>>>> But we have to, please send it to Linux first.
>>>
>>> We've already commented this issue. In the v2 [1], I've explained that
>>> this
>>> won't go mainline, since it's optional feature. Rather it will be managed
>>> with overlays.
>>
>> Thought this was already in ML, and ready to merge. So this never go
>> to Linux tree since it's optional? then add u-boot.dtsi for this
>> atleast since we always sync dts from Linux.
>
>
> OK, I'll do this.
>
> In the next revision, how to implement your patch [1]? As part of the series
> or
> mentioned somehow?
>
> [1]https://patchwork.ozlabs.org/patch/869946/

Add your patches on top of this.
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to