Patch for Linux 4.0. Artix7 FPGA with S70GL02GS Nor flash.

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
nop_4063016
Level 1
Level 1
First like received

We are working with artix7 fpga and S70GL02GS flash. But During boot up time, flash probe is failing. So can anyone please help me to resolve the issue.We are using Linux 4.0.0 version.

0 Likes
1 Solution

Thank you for your support.

By applying patch, Linux 4.0 is able to detect the flash of 128MB.

To support 256MB size, we have changed the vmalloc size by reducing MAX LOW MEMORY size in Linux configuration. increased vmalloc size by 256 MB and worked.

Regards,

Noufal P

View solution in original post

6 Replies
BacemD_61
Employee
Employee
50 replies posted 50 sign-ins 25 replies posted

Hello,

We have a patch for the S70GL02GS.

Please provide your email address and I'll send it to you.

Thanks and regards,

Bacem

0 Likes

Please note my email ID. : noufal.p@coreel.com

please also provide dts for the corresponding patch.

0 Likes

Please chek your email. I just sent you the patch.

Thanks and regards,

Bacem

0 Likes

Thank you sir. It got worked. and now we are able to detect first die (128MB size), but not the second one. I tried to add the new node in dts file, we were getting error as below

"of-flash 28000000.flash: Failed to ioremap() flash region

of-flash: probe of 28000000.flash failed with error -12".

But from u-boot, after adding fix, it is detecting full 256 MB by adding no of banks as 2.

0 Likes

That is an error in the mapping driver which then makes the probing fail as a consequence. It's not a pure probing failure.

The memory map driver is failing to allocate the virtual memory space and returning 0 instead of a memory address.

You should investigate and debug your mapping driver.

Here is the failing code location in "physmap_of.c":

info->list.map.virt = ioremap(info->list.map.phys,

info->list.map.size);

if (!info->list.map.virt) {

dev_err(&dev->dev, "Failed to ioremap() flash"

" region\n");

goto err_out;

}

Best regards,

Bacem

0 Likes

Thank you for your support.

By applying patch, Linux 4.0 is able to detect the flash of 128MB.

To support 256MB size, we have changed the vmalloc size by reducing MAX LOW MEMORY size in Linux configuration. increased vmalloc size by 256 MB and worked.

Regards,

Noufal P