Re: [PATCH] Revert "mtd: rawnand: denali: get ->setup_data_interface() working again"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2/25/20 1:41 AM, Masahiro Yamada wrote:
> Hi.

Hi,

> On Thu, Feb 20, 2020 at 3:45 AM Marek Vasut <marex@xxxxxxx> wrote:
>>
>> On 2/18/20 6:55 AM, Masahiro Yamada wrote:
>>> Hi
>>
>> Hi,
>>
>> [...]
>>
>>>> There is no change around the ->setup_data_interface() hook
>>>> after v4.19
>>>> The only difference I could think of is the clock frequency.
>>>>
>>>> But, it is OK if you do not want to test it.
>>>>
>>>> And you are confident.
>>>>
>>>> So, let's suspect the ->setup_data_interface() hook.
>>>>
>>>>
>>>> If possible, can you provide the dump of
>>>> the attached debug code?
>>>>
>>>
>>>
>>> I attached two experimental patches.
>>>
>>> I cannot test them because
>>> the mainline code works fine for my boards.
>>>
>>> Does either of them improve something
>>> on your settings?
> 
> 
> 
> I am still waiting for you to let me know
> the result of my patches.

Neither patch works, sorry.

>> Considering that the NAND works if denali_setup_data_interface() is not
>> called, would it rather make sense to first read and print what's
>> programmed into the controller and then print what the code calculated
>> and intends to program into the controller ?
> 
> denali_select_target() is called every operation.
> So, if you dumped this function for a working platform,
> it might flood the printk buffer.
> 
> denali_setup_data_interface() is called just twice.
> That's why I injected the debug code there.
> 
> 
>>
>> See attached patch, with which (without this revert) you get this:
>> denali->reg + TWHR2_AND_WE_2_RE = 0x00001414 -> 0x0000143f
>> denali->reg + TCWAW_AND_ADDR_2_DATA = 0x0000143f -> 0x00001432
>> denali->reg + RE_2_WE = 0x00000014 -> 0x00000019
>> denali->reg + ACC_CLKS = 0x00000004 -> 0x00000005
>> denali->reg + RDWR_EN_LO_CNT = 0x00000002 -> 0x00000009
>> denali->reg + RDWR_EN_HI_CNT = 0x00000002 -> 0x00000004
>> denali->reg + CS_SETUP_CNT = 0x00000001 -> 0x00000008
>> denali->reg + RE_2_RE = 0x00000014 -> 0x00000019
> 
> OK, the left-hand side is probably the timing
> set up by U-Boot.

Yep, the timings that work. So now, how do you get to those working
timings using the Linux driver ?

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/



[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux