Hi,
NOR is working fine in u-Boot and we are able to flash the uboot image and kernel image in to the NOR flash.
Also We have done the NOR(Non multiplexed NOR) configurations in kernel but after kernel boots from the NOR flash we are not able to see the Partitions.
Please let me know is anything wrong we are doing?
Attached the Log of what we are getting.
here below are the dts file entry for pin mux and nor configuration,
nor_pins_default: pinmux_nor_pins {
pinctrl-single,pins = <
0x0A4 (PIN_OUTPUT | MUX_MODE1) /* lcd_data1.gpmc_a1 */
0x0A8 (PIN_OUTPUT | MUX_MODE1) /* lcd_data2.gpmc_a2 */
0x0AC (PIN_OUTPUT | MUX_MODE1) /* lcd_data3.gpmc_a3 */
0x0B0 (PIN_OUTPUT | MUX_MODE1) /* lcd_data4.gpmc_a4 */
0x0B4 (PIN_OUTPUT | MUX_MODE1) /* lcd_data5.gpmc_a5 */
0x0B8 (PIN_OUTPUT | MUX_MODE1) /* lcd_data6.gpmc_a6 */
0x0BC (PIN_OUTPUT | MUX_MODE1) /* lcd_data7.gpmc_a7 */
0x0E0 (PIN_OUTPUT | MUX_MODE1) /* lcd_vsync.gpmc_a8 */
0x0E4 (PIN_OUTPUT | MUX_MODE1) /* lcd_hsync.gpmc_a9 */
0x0E8 (PIN_OUTPUT | MUX_MODE1) /* lcd_pclk.gpmc_a10 */
0x0EC (PIN_OUTPUT | MUX_MODE1) /* lcd_ac_bias_en.gpmc_a11 */
0x0C0 (PIN_OUTPUT | MUX_MODE1) /* lcd_data8.gpmc_a12 */
0x0C4 (PIN_OUTPUT | MUX_MODE1) /* lcd_data9.gpmc_a13 */
0x0C8 (PIN_OUTPUT | MUX_MODE1) /* lcd_data10.gpmc_a14 */
0x0CC (PIN_OUTPUT | MUX_MODE1) /* lcd_data11.gpmc_a15 */
0x0D0 (PIN_OUTPUT | MUX_MODE1) /* lcd_data12.gpmc_a16 */
0x0D4 (PIN_OUTPUT | MUX_MODE1) /* lcd_data13.gpmc_a17 */
0x0D8 (PIN_OUTPUT | MUX_MODE1) /* lcd_data14.gpmc_a18 */
0x0DC (PIN_OUTPUT | MUX_MODE1) /* lcd_data15.gpmc_a19 */
0x000 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad0.gpmc_ad0 */
0x004 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad1.gpmc_ad1 */
0x008 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad2.gpmc_ad2 */
0x00C (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad3.gpmc_ad3 */
0x010 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad4.gpmc_ad4 */
0x014 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad5.gpmc_ad5 */
0x018 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad6.gpmc_ad6 */
0x01C (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad7.gpmc_ad7 */
0x020 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad8.gpmc_ad8 */
0x024 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad9.gpmc_ad9 */
0x028 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad10.gpmc_ad10 */
0x02C (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad11.gpmc_ad11 */
0x030 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad12.gpmc_ad12 */
0x034 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad13.gpmc_ad13 */
0x038 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad14.gpmc_ad14 */
0x03C (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad15.gpmc_ad15 */
0x070 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_wait0.gpmc_wait0 */
0x07C (PIN_OUTPUT | MUX_MODE0) /* gpmc_csn0.gpmc_csn0 */
0x094 (PIN_OUTPUT | MUX_MODE0) /* gpmc_oen_ren.gpmc_oen_ren */
0x098 (PIN_OUTPUT | MUX_MODE0) /* gpmc_wen.gpmc_wen */
>;
};
/*Nor configuration inside OCP*/
gpmc: gpmc@50000000 {
compatible = "ti,am3352-gpmc";
ti,hwmods = "gpmc";
status = "okay";
gpmc,num-waitpins = <2>;
pinctrl-names = "default";
pinctrl-0 = <&nor_pins_default>;
#address-cells = <2>;
#size-cells = <1>;
ranges = <0 0 0x08000000 0x10000000>; /* CS0: NOR 256M */
nor@0,0 {
reg = <0 0x00000000 0x08000000>;
compatible = "cfi-flash";
linux,mtd-name = "spansion,s29gl010p11t";
bank-width = <2>;
gpmc,mux-add-data = <0>;
gpmc,sync-clk-ps = <0>;
gpmc,cs-on-ns = <0>;
gpmc,cs-rd-off-ns = <160>;
gpmc,cs-wr-off-ns = <160>;
gpmc,adv-on-ns = <10>;
gpmc,adv-rd-off-ns = <30>;
gpmc,adv-wr-off-ns = <30>;
gpmc,oe-on-ns = <40>;
gpmc,oe-off-ns = <160>;
gpmc,we-on-ns = <40>;
gpmc,we-off-ns = <160>;
gpmc,rd-cycle-ns = <160>;
gpmc,wr-cycle-ns = <160>;
gpmc,access-ns = <150>;
gpmc,page-burst-access-ns = <10>;
gpmc,cycle2cycle-samecsen;
gpmc,cycle2cycle-delay-ns = <20>;
gpmc,wr-data-mux-bus-ns = <70>;
gpmc,wr-access-ns = <80>;
gpmc,device-width = <2>;
#address-cells = <1>;
#size-cells = <1>;
/*
MTD partition table
===================
+------------+-->0x00000000-> U-Boot start
| |
| |-->0x000BFFFF-> U-Boot end
| |-->0x000C0000-> ENV1 start
| |
| |-->0x000DFFFF-> ENV1 end
| |-->0x000E0000-> ENV2 start
| |
| |-->0x000FFFFF-> ENV2 end
| |-->0x00100000-> Kernel start
| |
| |-->0x004FFFFF-> Kernel end
| |-->0x00500000-> File system start
| |
| |-->0x014FFFFF-> File system end
| |-->0x01500000-> User data start
| |
| |-->0x03FFFFFF-> User data end
| |-->0x04000000-> Data storage start
| |
+------------+-->0x08000000-> NOR end (Free end)
*/
partition@0 {
label = "boot";
reg = <0x00000000 0x000c0000>; /* 768KB */
};
partition@1 {
label = "env1";
reg = <0x000c0000 0x00020000>; /* 128KB */
};
partition@2 {
label = "env2";
reg = <0x000e0000 0x00020000>; /* 128KB */
};
partition@3 {
label = "kernel";
reg = <0x00100000 0x00400000>; /* 4MB */
};
partition@4 {
label = "rootfs";
reg = <0x00500000 0x01000000>; /* 16MB */
};
partition@5 {
label = "user";
reg = <0x01500000 0x02b00000>; /* 43MB */
};
partition@6 {
label = "data";
reg = <0x04000000 0x04000000>; /* 64MB */
};
};
};