All of lore.kernel.org
 help / color / mirror / Atom feed
* FW: Ethernet driver WR linux
@ 2011-08-05  5:31 smitha.vanga
  2011-08-05 18:12 ` Scott Wood
  0 siblings, 1 reply; 30+ messages in thread
From: smitha.vanga @ 2011-08-05  5:31 UTC (permalink / raw)
  To: linuxppc-dev

[-- Attachment #1: Type: text/plain, Size: 1376 bytes --]

Hi

I have bringup WR linux 2.6.38 on a custom mpc8247 board. Not able to
configure the ipaddress.  When I boot my linux kernel I get the below
message.
Also I am using the fec 1.  The fec is not getting initialized.
fs_enet.c:v1.0 (Aug 8, 2005)
BB MII Bus: Cannot register as MDIO bus
fsl-bb-mdio: probe of fsl-bb-mdio.0 failed with error -1
BB MII Bus: Cannot register as MDIO bus
fsl-bb-mdio: probe of fsl-bb-mdio.1 failed with error -1

I have enabled the following:

CONFIG_NET_ETHERNET=y

CONFIG_MII=y

CONFIG_FS_ENET=y

# CONFIG_FS_ENET_HAS_SCC is not set

CONFIG_FS_ENET_HAS_FCC=y


Regards,
Smitha

Please do not print this email unless it is absolutely necessary. 

The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. 

WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. 

www.wipro.com

[-- Attachment #2: Type: text/html, Size: 2806 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: FW: Ethernet driver WR linux
  2011-08-05  5:31 FW: Ethernet driver WR linux smitha.vanga
@ 2011-08-05 18:12 ` Scott Wood
  2011-08-08  5:53   ` smitha.vanga
  0 siblings, 1 reply; 30+ messages in thread
From: Scott Wood @ 2011-08-05 18:12 UTC (permalink / raw)
  To: smitha.vanga; +Cc: linuxppc-dev

On 08/05/2011 12:31 AM, smitha.vanga@wipro.com wrote:
> Hi
>  
> I have bringup WR linux 2.6.38 on a custom mpc8247 board. Not able to
> configure the ipaddress.  When I boot my linux kernel I get the below
> message.
> Also I am using the fec 1.  The fec is not getting initialized. 
> fs_enet.c:v1.0 (Aug 8, 2005)
> BB MII Bus: Cannot register as MDIO bus
> fsl-bb-mdio: probe of fsl-bb-mdio.0 failed with error -1
> BB MII Bus: Cannot register as MDIO bus
> fsl-bb-mdio: probe of fsl-bb-mdio.1 failed with error -1
> I have enabled the following:
>  
> 
> CONFIG_NET_ETHERNET=y
> 
> CONFIG_MII=y
> 
> CONFIG_FS_ENET=y
> 
> # CONFIG_FS_ENET_HAS_SCC is not set
> 
> CONFIG_FS_ENET_HAS_FCC=y

Can you attach your device tree?  What sort of mdio do you have on your
board?

> *Please do not print this email unless it is absolutely necessary. *
> 
> The information contained in this electronic message and any attachments
> to this message are intended for the exclusive use of the addressee(s)
> and may contain proprietary, confidential or privileged information. If
> you are not the intended recipient, you should not disseminate,
> distribute or copy this e-mail. Please notify the sender immediately and
> destroy all copies of this message and any attachments.
> 
> WARNING: Computer viruses can be transmitted via email. The recipient
> should check this email and any attachments for the presence of viruses.
> The company accepts no liability for any damage caused by any virus
> transmitted by this email.
> 
> www.wipro.com

Is there any way you can turn this crud off?

-Scott

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: FW: Ethernet driver WR linux
  2011-08-05 18:12 ` Scott Wood
@ 2011-08-08  5:53   ` smitha.vanga
  2011-08-08 20:54     ` Scott Wood
  0 siblings, 1 reply; 30+ messages in thread
From: smitha.vanga @ 2011-08-08  5:53 UTC (permalink / raw)
  To: scottwood; +Cc: linuxppc-dev

 
Hi Scott,

Below is the .dts file. My board is based on mpc8247. Currently using
FCC1.

/*
 * MPC8272 EPN412 Device Tree Source
 *
 * Copyright 2005 Freescale Semiconductor Inc.
 *
 * This program is free software; you can redistribute  it and/or modify
it
 * under  the terms of  the GNU General  Public License as published by
the
 * Free Software Foundation;  either version 2 of the  License, or (at
your
 * option) any later version.
 */

/ {
       model =3D "MPC8247 EPN412";
       compatible =3D "MPC82XX";
       #address-cells =3D <1>;
       #size-cells =3D <1>;
       linux,phandle =3D <100>;

       cpus {
               #cpus =3D <1>;
               #address-cells =3D <1>;
               #size-cells =3D <0>;
               linux,phandle =3D <200>;

               PowerPC,8247@0 {
                       device_type =3D "cpu";
                       reg =3D <0>;
                       d-cache-line-size =3D <20>;       // 32 bytes
                       i-cache-line-size =3D <20>;       // 32 bytes
                       d-cache-size =3D <4000>;          // L1, 16K
                       i-cache-size =3D <4000>;          // L1, 16K
                       timebase-frequency =3D <0>;
                       bus-frequency =3D <0>;
                       clock-frequency =3D <0>;
                       32-bit;
                       linux,phandle =3D <201>;
               };
       };

       interrupt-controller@f8200000 {
               linux,phandle =3D <f8200000>;
               #address-cells =3D <0>;
               #interrupt-cells =3D <2>;
               interrupt-controller;
               reg =3D <f8200000 f8200004>;
               built-in;
               device_type =3D "pci-pic";
       };

       memory {
               device_type =3D "memory";
               linux,phandle =3D <300>;
               reg =3D <00000000 4000000>;
       };


       soc8272@f0000000 {
               #address-cells =3D <1>;
               #size-cells =3D <1>;
               #interrupt-cells =3D <2>;
               device_type =3D "soc";
               ranges =3D <00000000 f0000000 00053000>;
               reg =3D <f0000000 10000>;

               cpm@119c0{
                       linux,phandle =3D <f0000000>;
                       #address-cells =3D <1>;
                       #size-cells =3D <1>;
                       #interrupt-cells =3D <2>;
                       device_type =3D "cpm";
                       model =3D "CPM2";
                       ranges =3D <00000000 00000000 20000>;
                       reg =3D <0 20000>;
                       command-proc =3D <119c0>;
                       brg-frequency =3D <FE70B8>;
                       cpm_clk =3D <7F385C0>;

                       scc@11a00 {
                               device_type =3D "serial";
                               compatible =3D "cpm_uart";
                               model =3D "SCC";
                               device-id =3D <1>;
                               reg =3D <11a00 20 8000 100>;
                               current-speed =3D <2580>;
                               interrupts =3D <28 2>;
                               interrupt-parent =3D <10c00>;
                               clock-setup =3D <0 00ffffff>;
                               rx-clock =3D <1>;
                               tx-clock =3D <1>;
                       };

			mdio@10d40 {
                       device_type =3D "mdio";
                       compatible =3D "fs_enet";
                       reg =3D <0 0>;
                       linux,phandle =3D <24520>;
                       #address-cells =3D <1>;
                       #size-cells =3D <0>;
                       ethernet-phy@0 {
                               linux,phandle =3D <2452000>;
                               interrupt-parent =3D <10c00>;
                               interrupts =3D <17 4>;
                               reg =3D <0>;
                               bitbang =3D [ 12 12 13 02 02 01 ];
                               device_type =3D "ethernet-phy";
                       };
                      
               };
			ethernet@11300 {
                       #address-cells =3D <1>;
                       #size-cells =3D <0>;
                       device_type =3D "network";
                       device-id =3D <1>;
                       compatible =3D "fs_enet";
                       model =3D "FCC";
                       reg =3D <11300 20 8400 100 11380 30>;
                       mac-address =3D [ 00 e0 ee 00 05 2e ];
                       interrupts =3D <20 2>;
                       interrupt-parent =3D <10c00>;
                       phy-handle =3D <2452000>;
                       rx-clock =3D <13>;
                       tx-clock =3D <12>;
               };


 			                      

               };
               interrupt-controller@10c00 {
                       linux,phandle =3D <10c00>;
                       #address-cells =3D <0>;
                       #interrupt-cells =3D <2>;
                       interrupt-controller;
                       reg =3D <10c00 80>;
                       built-in;
                       device_type =3D "cpm-pic";
		       compatible =3D "CPM2";
               };

               flash@fe000000 {
			                device_type =3D "rom";
			                compatible =3D "direct-mapped";
			                probe-type =3D "CFI";
			                reg =3D <fe000000 00800000>;
			                bank-width =3D <1>;
			                partitions =3D <00780000 00080000
			                              00770000 00010000
			                              00760000 00010000
			                              00750000
00010000>;
			                partition-names =3D
"u-boot\0u-boot env1\0u-boot env2\0id data";
		};

               


       };
};

Regards,
Smitha

Please do not print this email unless it is absolutely necessary. =0A=
=0A=
The information contained in this electronic message and any attachments to=
 this message are intended for the exclusive use of the addressee(s) and may=
 contain proprietary, confidential or privileged information. If you are not=
 the intended recipient, you should not disseminate, distribute or copy this=
 e-mail. Please notify the sender immediately and destroy all copies of this=
 message and any attachments. =0A=
=0A=
WARNING: Computer viruses can be transmitted via email. The recipient should=
 check this email and any attachments for the presence of viruses. The compa=
ny accepts no liability for any damage caused by any virus transmitted by th=
is email. =0A=
=0A=
www.wipro.com

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: FW: Ethernet driver WR linux
  2011-08-08  5:53   ` smitha.vanga
@ 2011-08-08 20:54     ` Scott Wood
  2011-08-09  5:46       ` smitha.vanga
  0 siblings, 1 reply; 30+ messages in thread
From: Scott Wood @ 2011-08-08 20:54 UTC (permalink / raw)
  To: smitha.vanga; +Cc: linuxppc-dev

On 08/08/2011 12:53 AM, smitha.vanga@wipro.com wrote:
>  
> Hi Scott,
> 
> Below is the .dts file. My board is based on mpc8247. Currently using
> FCC1.

This device tree is based on something very short-lived when 82xx
support was first being worked on for 82xx, around 2.6.24 or so.  Please
redo it from scratch based on what is in the current kernel.

-Scott

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: FW: Ethernet driver WR linux
  2011-08-08 20:54     ` Scott Wood
@ 2011-08-09  5:46       ` smitha.vanga
  2011-08-09 17:56         ` Scott Wood
  0 siblings, 1 reply; 30+ messages in thread
From: smitha.vanga @ 2011-08-09  5:46 UTC (permalink / raw)
  To: scottwood; +Cc: linuxppc-dev

Thank Scott. I am working on a legacy project Which is using 2.6.21
linux kernel so the device tree is based on that.
Can you let me why the probe error of the driver happens. So that I can
keep a patch in the code.Or What exacly in the device tree it is
missing. That would be of great help.

Thanks & Regards,
Smitha

-----Original Message-----
From: Scott Wood [mailto:scottwood@freescale.com] 
Sent: Tuesday, August 09, 2011 2:25 AM
To: Smitha Vanga (WT01 - GMT-Telecom Equipment)
Cc: linuxppc-dev@lists.ozlabs.org
Subject: Re: FW: Ethernet driver WR linux

On 08/08/2011 12:53 AM, smitha.vanga@wipro.com wrote:
>  
> Hi Scott,
> 
> Below is the .dts file. My board is based on mpc8247. Currently using 
> FCC1.

This device tree is based on something very short-lived when 82xx
support was first being worked on for 82xx, around 2.6.24 or so.  Please
redo it from scratch based on what is in the current kernel.

-Scott


Please do not print this email unless it is absolutely necessary. =0A=
=0A=
The information contained in this electronic message and any attachments to=
 this message are intended for the exclusive use of the addressee(s) and may=
 contain proprietary, confidential or privileged information. If you are not=
 the intended recipient, you should not disseminate, distribute or copy this=
 e-mail. Please notify the sender immediately and destroy all copies of this=
 message and any attachments. =0A=
=0A=
WARNING: Computer viruses can be transmitted via email. The recipient should=
 check this email and any attachments for the presence of viruses. The compa=
ny accepts no liability for any damage caused by any virus transmitted by th=
is email. =0A=
=0A=
www.wipro.com

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: FW: Ethernet driver WR linux
  2011-08-09  5:46       ` smitha.vanga
@ 2011-08-09 17:56         ` Scott Wood
  2011-08-25  7:57           ` Kernel boot up smitha.vanga
  0 siblings, 1 reply; 30+ messages in thread
From: Scott Wood @ 2011-08-09 17:56 UTC (permalink / raw)
  To: smitha.vanga; +Cc: linuxppc-dev

On 08/09/2011 12:46 AM, smitha.vanga@wipro.com wrote:
> Thank Scott. I am working on a legacy project Which is using 2.6.21
> linux kernel so the device tree is based on that.

Your original e-mail said you were using 2.6.38 ("I have bringup WR
linux 2.6.38 on a custom mpc8247 board").

> Can you let me why the probe error of the driver happens.

No.  There were a lot of fixes and improvements that went into this code
since then, including removing hardcoded assumptions about the hardware
that are described in the device tree with the current binding.  If you
don't want the fixes that come with a newer version, you're on your own
repeating that work.

-Scott

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Kernel boot up
  2011-08-09 17:56         ` Scott Wood
@ 2011-08-25  7:57           ` smitha.vanga
  2011-08-25 11:11             ` Gary Thomas
  2011-08-25 19:31             ` Scott Wood
  0 siblings, 2 replies; 30+ messages in thread
From: smitha.vanga @ 2011-08-25  7:57 UTC (permalink / raw)
  To: scottwood; +Cc: linuxppc-dev


[-- Attachment #1.1: Type: text/plain, Size: 5377 bytes --]

Hi Scott,

I am currently trying to bring up 2.6.39 kernel on a target based on
MPC8247
Processor, using the attched .dts  file . I get the below logs while the
kernel is booting.
I see that the unflattening of the device tree and the initial loading
of the kernel and ramdisk file system is happening correctly. Can you
point me where exactly I can look for this issue. I am attaching the
.config and .dts file I am using.


bootm 1000000 2000000 c00000
## Current stack ends at 0x03e93cc8
*  kernel: cmdline image address = 0x01000000
## Booting kernel from Legacy Image at 01000000 ...
   Image Name:   Linux-2.6.39
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    1766015 Bytes = 1.7 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   kernel data at 0x01000040, len = 0x001af27f (1766015)
*  ramdisk: cmdline image address = 0x02000000
## Loading init Ramdisk from Legacy Image at 02000000 ...
   Image Name:
   Image Type:   PowerPC Linux RAMDisk Image (gzip compressed)
   Data Size:    2211111 Bytes = 2.1 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   ramdisk start = 0x02000040, ramdisk end = 0x0221bd67
*  fdt: cmdline image address = 0x00c00000
## Checking for 'FDT'/'FDT Image' at 00c00000
*  fdt: raw FDT blob
## Flattened Device Tree blob at 00c00000
   Booting using the fdt blob at 0xc00000
   of_flat_tree at 0x00c00000 size 0x00000f12
   Uncompressing Kernel Image ... OK
   kernel loaded at 0x00000000, end = 0x00389d20
## initrd_high = 0xffffffff, copy_to_ram = 1
   Loading Ramdisk to 03c76000, end 03e91d27 ... OK
   ramdisk load start = 0x03c76000, ramdisk load end = 0x03e91d27
## device tree at 00c00000 ... 00c00f11 (len=16146 [0x3F12])
   Loading Device Tree to 007fc000, end 007fff11 ... OK
Updating property 'clock-frequency' =  00 fe 70 b8
Updating property 'bus-frequency' =  03 f9 c2 e0
Updating property 'timebase-frequency' =  00 7f 38 5c
Updating property 'clock-frequency' =  09 f0 67 30
## Transferring control to Linux (at address 00000000) ...
   Booting using OF flat tree...
Using Freescale MPC8272 ADS machine description
Linux version 2.6.39 (2.6.39) (ktuser@ktuser) (gcc version 4.4.5
(Buildroot 2011
.02) ) #5 Wed Aug 24 15:02:07 IST 2011
Found initrd at 0xc3c76000:0xc3e91d27
No bcsr in device tree
Zone PFN ranges:
  DMA      0x00000000 -> 0x00004000
  Normal   empty
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00004000
Built 1 zonelists in Zone order, mobility grouping on.  Total pages:
16256
Kernel command line: mem=64M root=/dev/ram rw
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 57972k/65536k available (3524k kernel code, 7564k reserved, 100k
data, 1
137k bss, 168k init)
Kernel virtual memory layout:
  * 0xfffdf000..0xfffff000  : fixmap
  * 0xfdfb6000..0xfe000000  : early ioremap
  * 0xc5000000..0xfdfb6000  : vmalloc & ioremap
SLUB: Genslabs=15, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:512 nr_irqs:512 16
No pci pic node in device tree.
clocksource: timebase mult[1dfc2974] shift[22] registered
console [ttyCPM0] enabled
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
NET: Registered protocol family 16
PCI: Probing PCI hardware
bio: create slab <bio-0> at 0
vgaarb: loaded
Switching to clocksource timebase

brd: module loaded
loop: module loaded
of-flash ff800000.flash: do_map_probe() failed
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
eth0: fs_enet: 00:00:00:00:00:00
eth1: fs_enet: 00:00:00:00:00:00
CPM2 Bitbanged MII: probed
mousedev: PS/2 mouse device common for all mice
TCP cubic registered
NET: Registered protocol family 10
IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
Freeing unused kernel memory: 168k init
Populating /dev using udev: /sbin/udevd: '/lib/libc.so.6' library
contains unsup
ported TLS
/sbin/udevd: '/lib/libc.so.6' library contains unsupported TLS
/sbin/udevd: can't load library 'libc.so.6'
FAIL
/sbin/udevstart: '/lib/libc.so.6' library contains unsupported TLS
/sbin/udevstart: '/lib/libc.so.6' library contains unsupported TLS
/sbin/udevstart: can't load library 'libc.so.6'
FAIL
done
Starting network...


Regards,

Smitha


Please do not print this email unless it is absolutely necessary. 

The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. 

WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. 

www.wipro.com

[-- Attachment #1.2: Type: text/html, Size: 7021 bytes --]

[-- Attachment #2: config_8272ads --]
[-- Type: application/octet-stream, Size: 32841 bytes --]

#
# Automatically generated make config: don't edit
# Linux/powerpc 2.6.39 Kernel Configuration
# Wed Aug 24 15:01:25 2011
#
# CONFIG_PPC64 is not set

#
# Processor support
#
CONFIG_PPC_BOOK3S_32=y
# CONFIG_PPC_85xx is not set
# CONFIG_PPC_8xx is not set
# CONFIG_40x is not set
# CONFIG_44x is not set
# CONFIG_E200 is not set
CONFIG_PPC_BOOK3S=y
CONFIG_6xx=y
CONFIG_PPC_FPU=y
# CONFIG_ALTIVEC is not set
CONFIG_PPC_STD_MMU=y
CONFIG_PPC_STD_MMU_32=y
# CONFIG_PPC_MM_SLICES is not set
CONFIG_PPC_HAVE_PMU_SUPPORT=y
# CONFIG_SMP is not set
CONFIG_PPC32=y
CONFIG_32BIT=y
CONFIG_WORD_SIZE=32
# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set
CONFIG_MMU=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
CONFIG_NR_IRQS=512
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_ILOG2_U32=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_GENERIC_FIND_BIT_LE=y
CONFIG_GENERIC_GPIO=y
# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
CONFIG_PPC=y
CONFIG_EARLY_PRINTK=y
CONFIG_GENERIC_NVRAM=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_PPC_OF=y
# CONFIG_PPC_UDBG_16550 is not set
# CONFIG_GENERIC_TBSYNC is not set
CONFIG_AUDIT_ARCH=y
CONFIG_GENERIC_BUG=y
CONFIG_DEFAULT_UIMAGE=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
# CONFIG_PPC_DCR_NATIVE is not set
# CONFIG_PPC_DCR_MMIO is not set
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_CONSTRUCTORS=y
CONFIG_HAVE_IRQ_WORK=y

#
# General setup
#
# CONFIG_EXPERIMENTAL is not set
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_FHANDLE is not set
# CONFIG_TASKSTATS is not set
# CONFIG_AUDIT is not set
CONFIG_HAVE_GENERIC_HARDIRQS=y

#
# IRQ subsystem
#
CONFIG_GENERIC_HARDIRQS=y
CONFIG_HAVE_SPARSE_IRQ=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
CONFIG_SPARSE_IRQ=y

#
# RCU Subsystem
#
CONFIG_TINY_RCU=y
# CONFIG_PREEMPT_RCU is not set
# CONFIG_RCU_TRACE is not set
# CONFIG_TREE_RCU_TRACE is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_CGROUPS is not set
# CONFIG_NAMESPACES is not set
# CONFIG_SCHED_AUTOGROUP is not set
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
# CONFIG_RD_BZIP2 is not set
# CONFIG_RD_LZMA is not set
# CONFIG_RD_XZ is not set
# CONFIG_RD_LZO is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
CONFIG_EXPERT=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
# CONFIG_EMBEDDED is not set
CONFIG_HAVE_PERF_EVENTS=y

#
# Kernel Performance Events And Counters
#
# CONFIG_PERF_EVENTS is not set
# CONFIG_PERF_COUNTERS is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
CONFIG_SLUB_DEBUG=y
CONFIG_COMPAT_BRK=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
# CONFIG_PROFILING is not set
CONFIG_HAVE_OPROFILE=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_DMA_API_DEBUG=y

#
# GCOV-based kernel profiling
#
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
# CONFIG_MODULES is not set
CONFIG_BLOCK=y
CONFIG_LBDAF=y
CONFIG_BLK_DEV_BSG=y
# CONFIG_BLK_DEV_INTEGRITY is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
# CONFIG_INLINE_SPIN_TRYLOCK is not set
# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK is not set
# CONFIG_INLINE_SPIN_LOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
CONFIG_INLINE_SPIN_UNLOCK=y
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_READ_TRYLOCK is not set
# CONFIG_INLINE_READ_LOCK is not set
# CONFIG_INLINE_READ_LOCK_BH is not set
# CONFIG_INLINE_READ_LOCK_IRQ is not set
# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
CONFIG_INLINE_READ_UNLOCK=y
# CONFIG_INLINE_READ_UNLOCK_BH is not set
CONFIG_INLINE_READ_UNLOCK_IRQ=y
# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_WRITE_TRYLOCK is not set
# CONFIG_INLINE_WRITE_LOCK is not set
# CONFIG_INLINE_WRITE_LOCK_BH is not set
# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
CONFIG_INLINE_WRITE_UNLOCK=y
# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
# CONFIG_MUTEX_SPIN_ON_OWNER is not set
# CONFIG_FREEZER is not set

#
# Platform support
#
# CONFIG_PPC_CHRP is not set
# CONFIG_PPC_MPC512x is not set
# CONFIG_PPC_MPC52xx is not set
# CONFIG_PPC_PMAC is not set
# CONFIG_PPC_CELL is not set
# CONFIG_PPC_CELL_NATIVE is not set
CONFIG_PPC_82xx=y
CONFIG_MPC8272_ADS=y
# CONFIG_PQ2FADS is not set
# CONFIG_EP8248E is not set
# CONFIG_MGCOGE is not set
CONFIG_PQ2ADS=y
CONFIG_8260=y
CONFIG_8272=y
CONFIG_PQ2_ADS_PCI_PIC=y
# CONFIG_PPC_83xx is not set
# CONFIG_PPC_86xx is not set
# CONFIG_EMBEDDED6xx is not set
# CONFIG_AMIGAONE is not set
CONFIG_KVM_GUEST=y
CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
# CONFIG_IPIC is not set
# CONFIG_MPIC is not set
# CONFIG_MPIC_WEIRD is not set
# CONFIG_PPC_I8259 is not set
# CONFIG_PPC_RTAS is not set
# CONFIG_MMIO_NVRAM is not set
# CONFIG_MPIC_U3_HT_IRQS is not set
# CONFIG_PPC_MPC106 is not set
# CONFIG_PPC_970_NAP is not set
# CONFIG_PPC_INDIRECT_IO is not set
# CONFIG_GENERIC_IOMAP is not set
# CONFIG_CPU_FREQ is not set
# CONFIG_TAU is not set
# CONFIG_QUICC_ENGINE is not set
CONFIG_CPM2=y
# CONFIG_FSL_ULI1575 is not set
CONFIG_CPM=y
# CONFIG_SIMPLE_GPIO is not set

#
# Kernel options
#
# CONFIG_HIGHMEM is not set
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
CONFIG_SCHED_HRTICK=y
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_BINFMT_ELF=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
# CONFIG_HAVE_AOUT is not set
CONFIG_BINFMT_MISC=y
# CONFIG_IOMMU_HELPER is not set
# CONFIG_SWIOTLB is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_HAS_WALK_MEMORY=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
# CONFIG_CRASH_DUMP is not set
CONFIG_MAX_ACTIVE_REGIONS=32
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_COMPACTION is not set
CONFIG_MIGRATION=y
# CONFIG_PHYS_ADDR_T_64BIT is not set
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_NEED_PER_CPU_KM=y
CONFIG_PPC_4K_PAGES=y
CONFIG_FORCE_MAX_ZONEORDER=11
# CONFIG_CMDLINE_BOOL is not set
CONFIG_EXTRA_TARGETS=""
# CONFIG_HIBERNATION is not set
# CONFIG_PM_RUNTIME is not set
CONFIG_SECCOMP=y
CONFIG_ISA_DMA_API=y

#
# Bus options
#
CONFIG_ZONE_DMA=y
# CONFIG_NEED_DMA_MAP_STATE is not set
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_PPC_INDIRECT_PCI=y
CONFIG_FSL_SOC=y
# CONFIG_FSL_LBC is not set
CONFIG_PPC_PCI_CHOICE=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCI_SYSCALL=y
CONFIG_PCI_8260=y
# CONFIG_PCIEPORTBUS is not set
CONFIG_ARCH_SUPPORTS_MSI=y
# CONFIG_PCI_MSI is not set
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCI_STUB is not set
# CONFIG_PCI_IOV is not set
# CONFIG_PCCARD is not set
# CONFIG_HOTPLUG_PCI is not set
# CONFIG_HAS_RAPIDIO is not set
# CONFIG_RAPIDIO is not set

#
# Advanced setup
#
# CONFIG_ADVANCED_OPTIONS is not set

#
# Default settings for advanced configuration options are used
#
CONFIG_LOWMEM_SIZE=0x30000000
CONFIG_PAGE_OFFSET=0xc0000000
CONFIG_KERNEL_START=0xc0000000
CONFIG_PHYSICAL_START=0x00000000
CONFIG_TASK_SIZE=0xc0000000
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_XFRM=y
# CONFIG_XFRM_USER is not set
# CONFIG_NET_KEY is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
# CONFIG_IP_PNP_RARP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE_DEMUX is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_XFRM_TUNNEL is not set
CONFIG_INET_TUNNEL=y
CONFIG_INET_XFRM_MODE_TRANSPORT=y
CONFIG_INET_XFRM_MODE_TUNNEL=y
CONFIG_INET_XFRM_MODE_BEET=y
# CONFIG_INET_LRO is not set
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_IPV6=y
# CONFIG_IPV6_PRIVACY is not set
# CONFIG_IPV6_ROUTER_PREF is not set
# CONFIG_INET6_AH is not set
# CONFIG_INET6_ESP is not set
# CONFIG_INET6_IPCOMP is not set
# CONFIG_INET6_XFRM_TUNNEL is not set
# CONFIG_INET6_TUNNEL is not set
CONFIG_INET6_XFRM_MODE_TRANSPORT=y
CONFIG_INET6_XFRM_MODE_TUNNEL=y
CONFIG_INET6_XFRM_MODE_BEET=y
CONFIG_IPV6_SIT=y
CONFIG_IPV6_NDISC_NODETYPE=y
# CONFIG_IPV6_TUNNEL is not set
# CONFIG_NETWORK_SECMARK is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_NETFILTER_ADVANCED=y

#
# Core Netfilter Configuration
#
# CONFIG_NETFILTER_NETLINK_QUEUE is not set
# CONFIG_NETFILTER_NETLINK_LOG is not set
# CONFIG_NF_CONNTRACK is not set
# CONFIG_NETFILTER_XTABLES is not set
# CONFIG_IP_VS is not set

#
# IP: Netfilter Configuration
#
# CONFIG_NF_DEFRAG_IPV4 is not set
# CONFIG_IP_NF_QUEUE is not set
# CONFIG_IP_NF_IPTABLES is not set
# CONFIG_IP_NF_ARPTABLES is not set

#
# IPv6: Netfilter Configuration
#
# CONFIG_NF_DEFRAG_IPV6 is not set
# CONFIG_IP6_NF_QUEUE is not set
# CONFIG_IP6_NF_IPTABLES is not set
# CONFIG_ATM is not set
# CONFIG_L2TP is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_PHONET is not set
# CONFIG_NET_SCHED is not set
# CONFIG_DCB is not set
# CONFIG_BATMAN_ADV is not set

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
CONFIG_WIRELESS=y
# CONFIG_CFG80211 is not set
# CONFIG_LIB80211 is not set

#
# CFG80211 needs to be enabled for MAC80211
#
# CONFIG_WIMAX is not set
# CONFIG_RFKILL is not set
# CONFIG_CAIF is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_DEVTMPFS is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
# CONFIG_FW_LOADER is not set
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_CONNECTOR is not set
CONFIG_MTD=y
# CONFIG_MTD_DEBUG is not set
# CONFIG_MTD_PARTITIONS is not set

#
# User Modules And Translation Layers
#
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y
# CONFIG_FTL is not set
# CONFIG_NFTL is not set
# CONFIG_INFTL is not set
# CONFIG_RFD_FTL is not set
# CONFIG_SSFDC is not set
# CONFIG_MTD_OOPS is not set
# CONFIG_MTD_SWAP is not set

#
# RAM/ROM/Flash chip drivers
#
# CONFIG_MTD_CFI is not set
CONFIG_MTD_JEDECPROBE=y
CONFIG_MTD_GEN_PROBE=y
CONFIG_MTD_CFI_ADV_OPTIONS=y
CONFIG_MTD_CFI_NOSWAP=y
# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
CONFIG_MTD_CFI_GEOMETRY=y
# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_2 is not set
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
# CONFIG_MTD_CFI_I1 is not set
# CONFIG_MTD_CFI_I2 is not set
CONFIG_MTD_CFI_I4=y
# CONFIG_MTD_CFI_I8 is not set
# CONFIG_MTD_OTP is not set
CONFIG_MTD_CFI_INTELEXT=y
# CONFIG_MTD_CFI_AMDSTD is not set
# CONFIG_MTD_CFI_STAA is not set
CONFIG_MTD_CFI_UTIL=y
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set

#
# Mapping drivers for chip access
#
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
# CONFIG_MTD_PHYSMAP is not set
CONFIG_MTD_PHYSMAP_OF=y
# CONFIG_MTD_INTEL_VR_NOR is not set
# CONFIG_MTD_PLATRAM is not set

#
# Self-contained MTD device drivers
#
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_BLOCK2MTD is not set

#
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOC2000 is not set
# CONFIG_MTD_DOC2001 is not set
# CONFIG_MTD_DOC2001PLUS is not set
# CONFIG_MTD_NAND is not set
# CONFIG_MTD_ONENAND is not set

#
# LPDDR flash memory drivers
#
# CONFIG_MTD_LPDDR is not set
# CONFIG_MTD_UBI is not set
CONFIG_DTC=y
CONFIG_OF=y

#
# Device Tree and Open Firmware support
#
CONFIG_PROC_DEVICETREE=y
CONFIG_OF_FLATTREE=y
CONFIG_OF_EARLY_FLATTREE=y
CONFIG_OF_DYNAMIC=y
CONFIG_OF_ADDRESS=y
CONFIG_OF_IRQ=y
CONFIG_OF_DEVICE=y
CONFIG_OF_GPIO=y
CONFIG_OF_NET=y
CONFIG_OF_MDIO=y
CONFIG_OF_PCI=y
# CONFIG_PARPORT is not set
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set

#
# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
#
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=16384
# CONFIG_BLK_DEV_XIP is not set
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_BLK_DEV_HD is not set
# CONFIG_SENSORS_LIS3LV02D is not set
# CONFIG_MISC_DEVICES is not set
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set

#
# SCSI device support
#
CONFIG_SCSI_MOD=y
# CONFIG_RAID_ATTRS is not set
# CONFIG_SCSI is not set
# CONFIG_SCSI_DMA is not set
# CONFIG_SCSI_NETLINK is not set
# CONFIG_ATA is not set
# CONFIG_MD is not set
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
# CONFIG_FIREWIRE is not set
# CONFIG_FIREWIRE_NOSY is not set
# CONFIG_I2O is not set
# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
CONFIG_TUN=y
# CONFIG_VETH is not set
# CONFIG_ARCNET is not set
CONFIG_MII=y
CONFIG_PHYLIB=y

#
# MII PHY device drivers
#
# CONFIG_MARVELL_PHY is not set
CONFIG_DAVICOM_PHY=y
# CONFIG_QSEMI_PHY is not set
# CONFIG_LXT_PHY is not set
# CONFIG_CICADA_PHY is not set
# CONFIG_VITESSE_PHY is not set
# CONFIG_SMSC_PHY is not set
# CONFIG_BROADCOM_PHY is not set
# CONFIG_BCM63XX_PHY is not set
# CONFIG_ICPLUS_PHY is not set
# CONFIG_REALTEK_PHY is not set
# CONFIG_NATIONAL_PHY is not set
# CONFIG_STE10XP is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_MICREL_PHY is not set
# CONFIG_FIXED_PHY is not set
CONFIG_MDIO_BITBANG=y
# CONFIG_MDIO_GPIO is not set
CONFIG_NET_ETHERNET=y
# CONFIG_HAPPYMEAL is not set
CONFIG_SUNGEM=y
# CONFIG_CASSINI is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_ETHOC is not set
# CONFIG_DNET is not set
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
# CONFIG_IBM_NEW_EMAC_ZMII is not set
# CONFIG_IBM_NEW_EMAC_RGMII is not set
# CONFIG_IBM_NEW_EMAC_TAH is not set
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
# CONFIG_NET_PCI is not set
# CONFIG_B44 is not set
# CONFIG_KS8851_MLL is not set
# CONFIG_ATL2 is not set
# CONFIG_XILINX_EMACLITE is not set
CONFIG_FS_ENET=y
# CONFIG_FS_ENET_HAS_SCC is not set
CONFIG_FS_ENET_HAS_FCC=y
CONFIG_FS_ENET_MDIO_FCC=y
CONFIG_NETDEV_1000=y
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_E1000E is not set
# CONFIG_IGB is not set
# CONFIG_IGBVF is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SKGE is not set
# CONFIG_SKY2 is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_TIGON3 is not set
# CONFIG_BNX2 is not set
# CONFIG_CNIC is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_GIANFAR is not set
# CONFIG_MV643XX_ETH is not set
# CONFIG_XILINX_LL_TEMAC is not set
# CONFIG_QLA3XXX is not set
# CONFIG_ATL1 is not set
# CONFIG_JME is not set
# CONFIG_STMMAC_ETH is not set
# CONFIG_PCH_GBE is not set
CONFIG_NETDEV_10000=y
# CONFIG_CHELSIO_T1 is not set
# CONFIG_CHELSIO_T3 is not set
# CONFIG_CHELSIO_T4 is not set
# CONFIG_CHELSIO_T4VF is not set
# CONFIG_ENIC is not set
# CONFIG_IXGBE is not set
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set
# CONFIG_VXGE is not set
# CONFIG_MYRI10GE is not set
# CONFIG_NETXEN_NIC is not set
# CONFIG_NIU is not set
# CONFIG_MLX4_EN is not set
# CONFIG_MLX4_CORE is not set
# CONFIG_TEHUTI is not set
# CONFIG_BNX2X is not set
# CONFIG_QLCNIC is not set
# CONFIG_QLGE is not set
# CONFIG_BNA is not set
# CONFIG_SFC is not set
# CONFIG_BE2NET is not set
# CONFIG_TR is not set
CONFIG_WLAN=y
# CONFIG_AIRO is not set
# CONFIG_ATMEL is not set
# CONFIG_HOSTAP is not set

#
# Enable WiMAX (Networking options) to see the WiMAX drivers
#
# CONFIG_WAN is not set

#
# CAIF transport drivers
#
# CONFIG_FDDI is not set
CONFIG_PPP=y
# CONFIG_PPP_FILTER is not set
CONFIG_PPP_ASYNC=y
CONFIG_PPP_SYNC_TTY=y
CONFIG_PPP_DEFLATE=y
# CONFIG_PPP_BSDCOMP is not set
# CONFIG_SLIP is not set
CONFIG_SLHC=y
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_VMXNET3 is not set
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y
# CONFIG_INPUT_FF_MEMLESS is not set
# CONFIG_INPUT_POLLDEV is not set
# CONFIG_INPUT_SPARSEKMAP is not set

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_GPIO is not set
# CONFIG_KEYBOARD_GPIO_POLLED is not set
# CONFIG_KEYBOARD_MATRIX is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_PS2_ELANTECH is not set
# CONFIG_MOUSE_PS2_SENTELIC is not set
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_MOUSE_GPIO is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
# CONFIG_SERIO_I8042 is not set
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_SERIO_XILINX_XPS_PS2 is not set
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_PS2MULT is not set
# CONFIG_GAMEPORT is not set

#
# Character devices
#
# CONFIG_VT is not set
CONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_SERIAL_NONSTANDARD is not set
CONFIG_DEVKMEM=y

#
# Serial drivers
#
# CONFIG_SERIAL_8250 is not set

#
# Non-8250 serial port support
#
# CONFIG_SERIAL_MFD_HSU is not set
# CONFIG_SERIAL_UARTLITE is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CPM=y
CONFIG_SERIAL_CPM_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_PCH_UART is not set
# CONFIG_TTY_PRINTK is not set
# CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=y
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
# CONFIG_NVRAM is not set
# CONFIG_GEN_RTC is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_RAW_DRIVER is not set
CONFIG_DEVPORT=y
# CONFIG_RAMOOPS is not set
# CONFIG_I2C is not set
# CONFIG_SPI is not set

#
# PPS support
#

#
# PPS generators support
#
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
CONFIG_ARCH_REQUIRE_GPIOLIB=y
CONFIG_GPIOLIB=y
# CONFIG_DEBUG_GPIO is not set

#
# Memory mapped GPIO expanders:
#
# CONFIG_GPIO_BASIC_MMIO is not set
# CONFIG_GPIO_IT8761E is not set
# CONFIG_GPIO_XILINX is not set
# CONFIG_GPIO_VX855 is not set

#
# I2C GPIO expanders:
#

#
# PCI GPIO expanders:
#
# CONFIG_GPIO_BT8XX is not set
# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_RDC321X is not set

#
# SPI GPIO expanders:
#

#
# AC97 GPIO expanders:
#

#
# MODULbus GPIO expanders:
#
# CONFIG_W1 is not set
# CONFIG_POWER_SUPPLY is not set
# CONFIG_HWMON is not set
# CONFIG_THERMAL is not set
# CONFIG_WATCHDOG is not set
CONFIG_SSB_POSSIBLE=y

#
# Sonics Silicon Backplane
#
# CONFIG_SSB is not set
CONFIG_MFD_SUPPORT=y
# CONFIG_MFD_CORE is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_HTC_PASIC3 is not set
# CONFIG_MFD_TMIO is not set
# CONFIG_ABX500_CORE is not set
# CONFIG_MFD_TIMBERDALE is not set
# CONFIG_LPC_SCH is not set
# CONFIG_MFD_RDC321X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_VX855 is not set
# CONFIG_REGULATOR is not set
# CONFIG_MEDIA_SUPPORT is not set

#
# Graphics support
#
# CONFIG_AGP is not set
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
# CONFIG_DRM is not set
# CONFIG_STUB_POULSBO is not set
# CONFIG_VGASTATE is not set
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
# CONFIG_FB is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set

#
# Display device support
#
# CONFIG_DISPLAY_SUPPORT is not set
# CONFIG_SOUND is not set
# CONFIG_HID_SUPPORT is not set
# CONFIG_USB_SUPPORT is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
# CONFIG_NEW_LEDS is not set
# CONFIG_NFC_DEVICES is not set
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not set
# CONFIG_EDAC is not set
# CONFIG_RTC_CLASS is not set
# CONFIG_DMADEVICES is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set
# CONFIG_STAGING is not set

#
# File systems
#
CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not set
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
CONFIG_EXT3_FS_XATTR=y
# CONFIG_EXT3_FS_POSIX_ACL is not set
# CONFIG_EXT3_FS_SECURITY is not set
# CONFIG_EXT4_FS is not set
CONFIG_JBD=y
CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_XFS_FS is not set
# CONFIG_GFS2_FS is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
# CONFIG_FANOTIFY is not set
# CONFIG_QUOTA is not set
# CONFIG_QUOTACTL is not set
CONFIG_AUTOFS4_FS=y
# CONFIG_FUSE_FS is not set

#
# Caches
#
# CONFIG_FSCACHE is not set

#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not set
# CONFIG_UDF_FS is not set

#
# DOS/FAT/NT Filesystems
#
# CONFIG_MSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_NTFS_FS is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set
# CONFIG_HUGETLB_PAGE is not set
# CONFIG_CONFIGFS_FS is not set
CONFIG_MISC_FILESYSTEMS=y
# CONFIG_HFSPLUS_FS is not set
# CONFIG_JFFS2_FS is not set
CONFIG_CRAMFS=y
# CONFIG_SQUASHFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_PSTORE is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
# CONFIG_NFS_V4 is not set
CONFIG_ROOT_NFS=y
# CONFIG_NFSD is not set
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_BSD_DISKLABEL is not set
# CONFIG_MINIX_SUBPARTITION is not set
# CONFIG_SOLARIS_X86_PARTITION is not set
# CONFIG_UNIXWARE_DISKLABEL is not set
# CONFIG_LDM_PARTITION is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_KARMA_PARTITION is not set
# CONFIG_EFI_PARTITION is not set
# CONFIG_SYSV68_PARTITION is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=y
# CONFIG_BINARY_PRINTF is not set

#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_LAST_BIT=y
CONFIG_CRC_CCITT=y
# CONFIG_CRC16 is not set
# CONFIG_CRC_T10DIF is not set
# CONFIG_CRC_ITU_T is not set
CONFIG_CRC32=y
# CONFIG_CRC7 is not set
# CONFIG_LIBCRC32C is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
# CONFIG_XZ_DEC is not set
# CONFIG_XZ_DEC_BCJ is not set
CONFIG_DECOMPRESS_GZIP=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_NLATTR=y
CONFIG_GENERIC_ATOMIC64=y
# CONFIG_AVERAGE is not set

#
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not set
CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=1024
CONFIG_MAGIC_SYSRQ=y
CONFIG_MAGIC_SYSRQ_DEFAULT_MASK=1
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_UNUSED_SYMBOLS is not set
# CONFIG_DEBUG_FS is not set
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SHIRQ is not set
# CONFIG_LOCKUP_DETECTOR is not set
# CONFIG_HARDLOCKUP_DETECTOR is not set
CONFIG_DETECT_HUNG_TASK=y
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
CONFIG_SCHED_DEBUG=y
# CONFIG_SCHEDSTATS is not set
# CONFIG_TIMER_STATS is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_SLUB_STATS is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_LOCK_ALLOC is not set
# CONFIG_PROVE_LOCKING is not set
# CONFIG_SPARSE_RCU_POINTER is not set
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_INFO=y
# CONFIG_DEBUG_INFO_REDUCED is not set
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_WRITECOUNT is not set
# CONFIG_DEBUG_MEMORY_INIT is not set
# CONFIG_DEBUG_LIST is not set
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
# CONFIG_DEBUG_CREDENTIALS is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set
CONFIG_SYSCTL_SYSCALL_CHECK=y
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
# CONFIG_FUNCTION_TRACER is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_SCHED_TRACER is not set
# CONFIG_ENABLE_DEFAULT_TRACERS is not set
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
# CONFIG_PROFILE_ALL_BRANCHES is not set
# CONFIG_STACK_TRACER is not set
# CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_TEST_KSTRTOX is not set
# CONFIG_PPC_DISABLE_WERROR is not set
CONFIG_PPC_WERROR=y
CONFIG_PRINT_STACK_DEPTH=64
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_CODE_PATCHING_SELFTEST is not set
# CONFIG_FTR_FIXUP_SELFTEST is not set
# CONFIG_MSI_BITMAP_SELFTEST is not set
# CONFIG_XMON is not set
CONFIG_BDI_SWITCH=y
# CONFIG_BOOTX_TEXT is not set
# CONFIG_PPC_EARLY_DEBUG is not set

#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY_DMESG_RESTRICT is not set
# CONFIG_SECURITY is not set
# CONFIG_SECURITYFS is not set
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_DEFAULT_SECURITY=""
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_PCOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
# CONFIG_CRYPTO_GF128MUL is not set
# CONFIG_CRYPTO_NULL is not set
CONFIG_CRYPTO_WORKQUEUE=y
# CONFIG_CRYPTO_CRYPTD is not set
# CONFIG_CRYPTO_AUTHENC is not set

#
# Authenticated Encryption with Associated Data
#
# CONFIG_CRYPTO_CCM is not set
# CONFIG_CRYPTO_GCM is not set
# CONFIG_CRYPTO_SEQIV is not set

#
# Block modes
#
CONFIG_CRYPTO_CBC=y
# CONFIG_CRYPTO_CTR is not set
# CONFIG_CRYPTO_CTS is not set
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_PCBC=y

#
# Hash modes
#
# CONFIG_CRYPTO_HMAC is not set

#
# Digest
#
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_GHASH is not set
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_RMD128 is not set
# CONFIG_CRYPTO_RMD160 is not set
# CONFIG_CRYPTO_RMD256 is not set
# CONFIG_CRYPTO_RMD320 is not set
# CONFIG_CRYPTO_SHA1 is not set
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_TGR192 is not set
# CONFIG_CRYPTO_WP512 is not set

#
# Ciphers
#
# CONFIG_CRYPTO_AES is not set
# CONFIG_CRYPTO_ANUBIS is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_CAMELLIA is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
CONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_FCRYPT is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_SEED is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_TWOFISH is not set

#
# Compression
#
# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_ZLIB is not set
# CONFIG_CRYPTO_LZO is not set

#
# Random Number Generation
#
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_USER_API_HASH is not set
# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
# CONFIG_CRYPTO_HW is not set
CONFIG_PPC_CLOCK=y
CONFIG_PPC_LIB_RHEAP=y
# CONFIG_VIRTUALIZATION is not set

[-- Attachment #3: mpc8272ads.dts --]
[-- Type: application/octet-stream, Size: 6684 bytes --]

/*
 * MPC8272 ADS Device Tree Source
 *
 * Copyright 2005,2008 Freescale Semiconductor Inc.
 *
 * This program is free software; you can redistribute  it and/or modify it
 * under  the terms of  the GNU General  Public License as published by the
 * Free Software Foundation;  either version 2 of the  License, or (at your
 * option) any later version.
 */

/dts-v1/;

/ {
	model = "MPC8272ADS";
	compatible = "fsl,mpc8272ads";
	#address-cells = <1>;
	#size-cells = <1>;

	aliases {
		ethernet0 = &eth0;
		ethernet1 = &eth1;
		serial0 = &scc1;
		serial1 = &scc4;
	};

	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		PowerPC,8247@0 {
			device_type = "cpu";
			reg = <0x0>;
			d-cache-line-size = <32>;
			i-cache-line-size = <32>;
			d-cache-size = <16384>;
			i-cache-size = <16384>;
			timebase-frequency = <0>;
			bus-frequency = <0>;
			clock-frequency = <0>;
		};
	};

	memory {
		device_type = "memory";
		reg = <0x0 0x4000000>;
	};

	localbus@f0010100 {
		compatible = "fsl,mpc8272-localbus",
		             "fsl,pq2-localbus";
		#address-cells = <2>;
		#size-cells = <1>;
		reg = <0xf0010100 0x40>;

		ranges = <0x0 0x0 0xff800000 0x00800000>;
		    /*      0x1 0x0 0xf4500000 0x8000
		          0x3 0x0 0xf8200000 0x8000>; */

		flash@0,0 {
			compatible = "jedec-flash";
			reg = <0x0 0x0 0x00800000>;
			bank-width = <4>;
			device-width = <1>;
		};
/*
		board-control@1,0 {
			reg = <0x1 0x0 0x20>;
			compatible = "fsl,mpc8272ads-bcsr";
		};

		PCI_PIC: interrupt-controller@3,0 {
			compatible = "fsl,mpc8272ads-pci-pic",
			             "fsl,pq2ads-pci-pic";
			#interrupt-cells = <1>;
			interrupt-controller;
			reg = <0x3 0x0 0x8>;
			interrupt-parent = <&PIC>;
			interrupts = <20 8>;
		};
*/	};

/*
	pci@f0010800 {
		device_type = "pci";
		reg = <0xf0010800 0x10c 0xf00101ac 0x8 0xf00101c4 0x8>;
		compatible = "fsl,mpc8272-pci", "fsl,pq2-pci";
		#interrupt-cells = <1>;
		#size-cells = <2>;
		#address-cells = <3>;
		clock-frequency = <66666666>;
		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
		interrupt-map = <
		                 /* IDSEL 0x16 
		                 0xb000 0x0 0x0 0x1 &PCI_PIC 0
		                 0xb000 0x0 0x0 0x2 &PCI_PIC 1
		                 0xb000 0x0 0x0 0x3 &PCI_PIC 2
		                 0xb000 0x0 0x0 0x4 &PCI_PIC 3

		                 /* IDSEL 0x17 
		                 0xb800 0x0 0x0 0x1 &PCI_PIC 4
		                 0xb800 0x0 0x0 0x2 &PCI_PIC 5
		                 0xb800 0x0 0x0 0x3 &PCI_PIC 6
		                 0xb800 0x0 0x0 0x4 &PCI_PIC 7

		                 /* IDSEL 0x18 
		                 0xc000 0x0 0x0 0x1 &PCI_PIC 8
		                 0xc000 0x0 0x0 0x2 &PCI_PIC 9
		                 0xc000 0x0 0x0 0x3 &PCI_PIC 10
		                 0xc000 0x0 0x0 0x4 &PCI_PIC 11>;

		interrupt-parent = <&PIC>;
		interrupts = <18 8>;
		ranges = <0x42000000 0x0 0x80000000 0x80000000 0x0 0x20000000
		          0x2000000 0x0 0xa0000000 0xa0000000 0x0 0x20000000
		          0x1000000 0x0 0x0 0xf6000000 0x0 0x2000000>;
	};
*/
	soc@f0000000 {
		#address-cells = <1>;
		#size-cells = <1>;
		device_type = "soc";
		compatible = "fsl,mpc8272", "fsl,pq2-soc";
		ranges = <0x0 0xf0000000 0x53000>;

		// Temporary -- will go away once kernel uses ranges for get_immrbase().
		reg = <0xf0000000 0x53000>;

		cpm@119c0 {
			#address-cells = <1>;
			#size-cells = <1>;
			compatible = "fsl,mpc8272-cpm", "fsl,cpm2";
			reg = <0x119c0 0x30>;
			ranges;

			muram@0 {
				#address-cells = <1>;
				#size-cells = <1>;
				ranges = <0x0 0x0 0x10000>;

				data@0 {
					compatible = "fsl,cpm-muram-data";
					reg = <0x0 0x2000 0x9800 0x800>;
				};
			};

			brg@119f0 {
				compatible = "fsl,mpc8272-brg",
				             "fsl,cpm2-brg",
				             "fsl,cpm-brg";
				reg = <0x119f0 0x10 0x115f0 0x10>;
			};

			scc1: serial@11a00 {
				device_type = "serial";
				compatible = "fsl,mpc8272-scc-uart",
				             "fsl,cpm2-scc-uart";
				reg = <0x11a00 0x20 0x8000 0x100>;
				interrupts = <40 8>;
				interrupt-parent = <&PIC>;
				fsl,cpm-brg = <1>;
				fsl,cpm-command = <0x800000>;
			};

			scc4: serial@11a60 {
				device_type = "serial";
				compatible = "fsl,mpc8272-scc-uart",
				             "fsl,cpm2-scc-uart";
				reg = <0x11a60 0x20 0x8300 0x100>;
				interrupts = <43 8>;
				interrupt-parent = <&PIC>;
				fsl,cpm-brg = <4>;
				fsl,cpm-command = <0xce00000>;
			};

		/*	usb@11b60 {
				compatible = "fsl,mpc8272-cpm-usb";
				reg = <0x11b60 0x40 0x8b00 0x100>;
				interrupts = <11 8>;
				interrupt-parent = <&PIC>;
				mode = "peripheral";
			}; */

			mdio@10d40 {
				device_type = "mdio";
				compatible = "fsl,mpc8272ads-mdio-bitbang",
				             "fsl,mpc8272-mdio-bitbang",
				             "fsl,cpm2-mdio-bitbang";
				reg = <0x10d40 0x14>;
				#address-cells = <1>;
				#size-cells = <0>;
				fsl,mdio-pin = <23>; 
				fsl,mdc-pin = <22>; 

				PHY0: ethernet-phy@0 {
					interrupt-parent = <&PIC>;
					interrupts = <23 8>;
					reg = <0x0>;
					device_type = "ethernet-phy";
				};

				PHY1: ethernet-phy@1 {
					interrupt-parent = <&PIC>;
					interrupts = <23 8>;
					reg = <0x3>;
					device_type = "ethernet-phy";
				};
			};

			eth0: ethernet@11300 {
				device_type = "network";
				compatible = "fsl,mpc8272-fcc-enet",
				             "fsl,cpm2-fcc-enet";
				reg = <0x11300 0x20 0x8400 0x100 0x11390 0x1>;
				local-mac-address = [ 00 00 00 00 00 00 ];
				interrupts = <32 8>;
				interrupt-parent = <&PIC>;
				phy-handle = <&PHY0>;
				linux,network-index = <0>;
				fsl,cpm-command = <0x12000300>;
			};

			eth1: ethernet@11320 {
				device_type = "network";
				compatible = "fsl,mpc8272-fcc-enet",
				             "fsl,cpm2-fcc-enet";
				reg = <0x11320 0x20 0x8500 0x100 0x113b0 0x1>;
				local-mac-address = [ 00 00 00 00 00 00 ];
				interrupts = <33 8>;
				interrupt-parent = <&PIC>;
				phy-handle = <&PHY1>;
				linux,network-index = <1>;
				fsl,cpm-command = <0x16200300>;
			};

			i2c@11860 {
				compatible = "fsl,mpc8272-i2c",
					     "fsl,cpm2-i2c";
				reg = <0x11860 0x20 0x8afc 0x2>;
				interrupts = <1 8>;
				interrupt-parent = <&PIC>;
				fsl,cpm-command = <0x29600000>;
				#address-cells = <1>;
				#size-cells = <0>;
			};
		};

		PIC: interrupt-controller@10c00 {
			#interrupt-cells = <2>;
			interrupt-controller;
			reg = <0x10c00 0x80>;
			compatible = "fsl,mpc8272-pic", "fsl,cpm2-pic";
		};

		crypto@30000 {
			compatible = "fsl,sec1.0";
			reg = <0x40000 0x13000>;
			interrupts = <47 0x8>;
			interrupt-parent = <&PIC>;
			fsl,num-channels = <4>;
			fsl,channel-fifo-len = <24>;
			fsl,exec-units-mask = <0x7e>;
			fsl,descriptor-types-mask = <0x1010415>;
		};
	};

	chosen {
		linux,stdout-path = "/soc/cpm/serial@11a00";
	};
};

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Kernel boot up
  2011-08-25  7:57           ` Kernel boot up smitha.vanga
@ 2011-08-25 11:11             ` Gary Thomas
  2011-08-25 19:31             ` Scott Wood
  1 sibling, 0 replies; 30+ messages in thread
From: Gary Thomas @ 2011-08-25 11:11 UTC (permalink / raw)
  To: smitha.vanga; +Cc: linuxppc-dev

On 2011-08-25 01:57, smitha.vanga@wipro.com wrote:
> Hi Scott,
>
> I am currently trying to bring up 2.6.39 kernel on a target based on MPC8247
> Processor, using the attched .dts file . I get the below logs while the kernel is booting.
> I see that the unflattening of the device tree and the initial loading of the kernel and ramdisk file system is happening correctly. Can you point me where exactly I can look for
> this issue. I am attaching the .config and .dts file I am using.

There doesn't seem to be anything wrong with the kernel in this log.
The failure is in the user code - in particular, udev is giving up
with these errors:
   /sbin/udevstart: '/lib/libc.so.6' library contains unsupported TLS
After that, all is lost as there will be no console, etc, for the
rest of the system to use...

You need to examine how you built the root file system and why you
are getting these errors.  This problem seems to be unique to uclibc

>
>
> bootm 1000000 2000000 c00000
> ## Current stack ends at 0x03e93cc8
> * kernel: cmdline image address = 0x01000000
> ## Booting kernel from Legacy Image at 01000000 ...
> Image Name: Linux-2.6.39
> Image Type: PowerPC Linux Kernel Image (gzip compressed)
> Data Size: 1766015 Bytes = 1.7 MiB
> Load Address: 00000000
> Entry Point: 00000000
> Verifying Checksum ... OK
> kernel data at 0x01000040, len = 0x001af27f (1766015)
> * ramdisk: cmdline image address = 0x02000000
> ## Loading init Ramdisk from Legacy Image at 02000000 ...
> Image Name:
> Image Type: PowerPC Linux RAMDisk Image (gzip compressed)
> Data Size: 2211111 Bytes = 2.1 MiB
> Load Address: 00000000
> Entry Point: 00000000
> Verifying Checksum ... OK
> ramdisk start = 0x02000040, ramdisk end = 0x0221bd67
> * fdt: cmdline image address = 0x00c00000
> ## Checking for 'FDT'/'FDT Image' at 00c00000
> * fdt: raw FDT blob
> ## Flattened Device Tree blob at 00c00000
> Booting using the fdt blob at 0xc00000
> of_flat_tree at 0x00c00000 size 0x00000f12
> Uncompressing Kernel Image ... OK
> kernel loaded at 0x00000000, end = 0x00389d20
> ## initrd_high = 0xffffffff, copy_to_ram = 1
> Loading Ramdisk to 03c76000, end 03e91d27 ... OK
> ramdisk load start = 0x03c76000, ramdisk load end = 0x03e91d27
> ## device tree at 00c00000 ... 00c00f11 (len=16146 [0x3F12])
> Loading Device Tree to 007fc000, end 007fff11 ... OK
> Updating property 'clock-frequency' = 00 fe 70 b8
> Updating property 'bus-frequency' = 03 f9 c2 e0
> Updating property 'timebase-frequency' = 00 7f 38 5c
> Updating property 'clock-frequency' = 09 f0 67 30
> ## Transferring control to Linux (at address 00000000) ...
> Booting using OF flat tree...
> Using Freescale MPC8272 ADS machine description
> Linux version 2.6.39 (2.6.39) (ktuser@ktuser) (gcc version 4.4.5 (Buildroot 2011
> .02) ) #5 Wed Aug 24 15:02:07 IST 2011
> Found initrd at 0xc3c76000:0xc3e91d27
> No bcsr in device tree
> Zone PFN ranges:
> DMA 0x00000000 -> 0x00004000
> Normal empty
> Movable zone start PFN for each node
> early_node_map[1] active PFN ranges
> 0: 0x00000000 -> 0x00004000
> Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
> Kernel command line: mem=64M root=/dev/ram rw
> PID hash table entries: 256 (order: -2, 1024 bytes)
> Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
> Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
> Memory: 57972k/65536k available (3524k kernel code, 7564k reserved, 100k data, 1
> 137k bss, 168k init)
> Kernel virtual memory layout:
> * 0xfffdf000..0xfffff000 : fixmap
> * 0xfdfb6000..0xfe000000 : early ioremap
> * 0xc5000000..0xfdfb6000 : vmalloc & ioremap
> SLUB: Genslabs=15, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
> NR_IRQS:512 nr_irqs:512 16
> No pci pic node in device tree.
> clocksource: timebase mult[1dfc2974] shift[22] registered
> console [ttyCPM0] enabled
> pid_max: default: 32768 minimum: 301
> Mount-cache hash table entries: 512
> NET: Registered protocol family 16
> PCI: Probing PCI hardware
> bio: create slab <bio-0> at 0
> vgaarb: loaded
> Switching to clocksource timebase
>
> brd: module loaded
> loop: module loaded
> of-flash ff800000.flash: do_map_probe() failed
> PPP generic driver version 2.4.2
> PPP Deflate Compression module registered
> tun: Universal TUN/TAP device driver, 1.6
> tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
> eth0: fs_enet: 00:00:00:00:00:00
> eth1: fs_enet: 00:00:00:00:00:00
> CPM2 Bitbanged MII: probed
> mousedev: PS/2 mouse device common for all mice
> TCP cubic registered
> NET: Registered protocol family 10
> IPv6 over IPv4 tunneling driver
> NET: Registered protocol family 17
> Freeing unused kernel memory: 168k init
> Populating /dev using udev: /sbin/udevd: '/lib/libc.so.6' library contains unsup
> ported TLS
> /sbin/udevd: '/lib/libc.so.6' library contains unsupported TLS
> /sbin/udevd: can't load library 'libc.so.6'
> FAIL
> /sbin/udevstart: '/lib/libc.so.6' library contains unsupported TLS
> /sbin/udevstart: '/lib/libc.so.6' library contains unsupported TLS
> /sbin/udevstart: can't load library 'libc.so.6'
> FAIL
> done
> Starting network...
>
> Regards,
>
> Smitha
>
> *Please do not print this email unless it is absolutely necessary. *
>
> The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary,
> confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and
> destroy all copies of this message and any attachments.
>
> WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for
> any damage caused by any virus transmitted by this email.
>
> www.wipro.com
>
>
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Kernel boot up
  2011-08-25  7:57           ` Kernel boot up smitha.vanga
  2011-08-25 11:11             ` Gary Thomas
@ 2011-08-25 19:31             ` Scott Wood
  2011-08-26  6:00               ` smitha.vanga
  1 sibling, 1 reply; 30+ messages in thread
From: Scott Wood @ 2011-08-25 19:31 UTC (permalink / raw)
  To: smitha.vanga; +Cc: linuxppc-dev

On 08/25/2011 02:57 AM, smitha.vanga@wipro.com wrote:
> Hi Scott,
> 
> I am currently trying to bring up 2.6.39 kernel on a target based on MPC8247
> Processor, using the attched .dts  file . I get the below logs while the
> kernel is booting.
> I see that the unflattening of the device tree and the initial loading
> of the kernel and ramdisk file system is happening correctly. Can you
> point me where exactly I can look for this issue. I am attaching the
> .config and .dts file I am using.

Which error are you referring to?

> of-flash ff800000.flash: do_map_probe() failed

What kind of flash chip do you have?  Does the node in the device tree
accurately describe it (four interleaved 8-bit chips that only do JEDEC
and not CFI)?

> PPP generic driver version 2.4.2
> PPP Deflate Compression module registered
> tun: Universal TUN/TAP device driver, 1.6
> tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
> eth0: fs_enet: 00:00:00:00:00:00
> eth1: fs_enet: 00:00:00:00:00:00

These MAC addresses should have been set in the device tree.  If you're
using U-Boot, it should be doing the fixup.

> Populating /dev using udev: /sbin/udevd: '/lib/libc.so.6' library
> contains unsup
> ported TLS
> /sbin/udevd: '/lib/libc.so.6' library contains unsupported TLS
> /sbin/udevd: can't load library 'libc.so.6'
> FAIL
> /sbin/udevstart: '/lib/libc.so.6' library contains unsupported TLS
> /sbin/udevstart: '/lib/libc.so.6' library contains unsupported TLS
> /sbin/udevstart: can't load library 'libc.so.6'
> FAIL

This is a problem with the root filesystem, not the kernel.

-Scott

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: Kernel boot up
  2011-08-25 19:31             ` Scott Wood
@ 2011-08-26  6:00               ` smitha.vanga
  2011-08-26 20:08                 ` Scott Wood
  0 siblings, 1 reply; 30+ messages in thread
From: smitha.vanga @ 2011-08-26  6:00 UTC (permalink / raw)
  To: scottwood; +Cc: linuxppc-dev

[-- Attachment #1: Type: text/plain, Size: 12768 bytes --]


Thanks scott.

There was an issue with the file system. Now my board is up with the
linux boot prompt .
But ping is not working. The local loopback ping works. My phy chip
BCM5221 is connected on port A
I am using FCC1 as the MAC.  I see that the intrrupt handler is being
registered properly. And even the fs_enet_start_xmit() gets called and
it returns with return NETDEV_TX_OK. When I do a ifconfig -a
I see the TX packets count increases for the loop back device but not
for eth0. I am using the wireshark tool to see any packets on the witr.
But don't see any ARP packets coming out on the wire.
Can you please suggest . Below are the logs. Attache dis the .dts file.
I have commented the bcsr register part in the .dts is this required.

EPN412> bootm 1000000 2000000 c00000
## Current stack ends at 0x03e93cc8
*  kernel: cmdline image address = 0x01000000
## Booting kernel from Legacy Image at 01000000 ...
   Image Name:   Linux-2.6.39
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    1765760 Bytes = 1.7 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   kernel data at 0x01000040, len = 0x001af180 (1765760)
*  ramdisk: cmdline image address = 0x02000000
## Loading init Ramdisk from Legacy Image at 02000000 ...
   Image Name:   uboot ext2 ramdisk rootfs
   Image Type:   PowerPC Linux RAMDisk Image (gzip compressed)
   Data Size:    3972156 Bytes = 3.8 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   ramdisk start = 0x02000040, ramdisk end = 0x023c9c7c
*  fdt: cmdline image address = 0x00c00000
## Checking for 'FDT'/'FDT Image' at 00c00000
*  fdt: raw FDT blob
## Flattened Device Tree blob at 00c00000
   Booting using the fdt blob at 0xc00000
   of_flat_tree at 0x00c00000 size 0x00000f12
   Uncompressing Kernel Image ... OK
   kernel loaded at 0x00000000, end = 0x0038bd20
## initrd_high = 0xffffffff, copy_to_ram = 1
   Loading Ramdisk to 03ac9000, end 03e92c3c ... OK
   ramdisk load start = 0x03ac9000, ramdisk load end = 0x03e92c3c
## device tree at 00c00000 ... 00c00f11 (len=16146 [0x3F12])
   Loading Device Tree to 007fc000, end 007fff11 ... OK
Updating property 'clock-frequency' =  00 fe 70 b8
Updating property 'bus-frequency' =  03 f9 c2 e0
Updating property 'timebase-frequency' =  00 7f 38 5c
Updating property 'clock-frequency' =  09 f0 67 30
## Transferring control to Linux (at address 00000000) ...
   Booting using OF flat tree...
Using Freescale MPC8272 ADS machine description
Linux version 2.6.39 (2.6.39) (ktuser@ktuser) (gcc version 4.4.5
(Buildroot 2011.02) ) #7
 Thu Aug 25 20:59:40 IST 2011
Found initrd at 0xc3ac9000:0xc3e92c3c
No bcsr in device tree
Zone PFN ranges:
  DMA      0x00000000 -> 0x00004000
  Normal   empty
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00004000
Built 1 zonelists in Zone order, mobility grouping on.  Total pages:
16256
Kernel command line: mem=64M root=/dev/ram rw
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 56244k/65536k available (3528k kernel code, 9292k reserved, 104k
data, 1137k bss,
 168k init)
Kernel virtual memory layout:
  * 0xfffdf000..0xfffff000  : fixmap
  * 0xfdfb6000..0xfe000000  : early ioremap
  * 0xc5000000..0xfdfb6000  : vmalloc & ioremap
SLUB: Genslabs=15, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:512 nr_irqs:512 16
No pci pic node in device tree.
clocksource: timebase mult[1dfc2974] shift[22] registered
console [ttyCPM0] enabled
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
NET: Registered protocol family 16
PCI: Probing PCI hardware
bio: create slab <bio-0> at 0
vgaarb: loaded
Switching to clocksource timebase
Switched to NOHz mode on CPU #0
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Trying to unpack rootfs image as initramfs...
rootfs image is not initramfs (no cpio magic); looks like an initrd
Freeing initrd memory: 3879k freed
msgmni has been set to 119
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
f0011a00.serial: ttyCPM0 at MMIO 0xc5014a00 (irq = 40) is a CPM UART
f0011a60.serial: ttyCPM1 at MMIO 0xc5018a60 (irq = 43) is a CPM UART
brd: module loaded
loop: module loaded
of-flash ff800000.flash: do_map_probe() failed
=====raj gem init
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
eth0: fs_enet: 00:00:00:00:00:00
eth1: fs_enet: 00:00:00:00:00:00
CPM2 Bitbanged MII: probed
mousedev: PS/2 mouse device common for all mice
TCP cubic registered
NET: Registered protocol family 10
IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
RAMDISK: gzip image found at block 0
VFS: Mounted root (ext2 filesystem) on device 1:0.
Freeing unused kernel memory: 168k init
Mounting /proc and /sys
Setting the hostname to mpc837xemds
Mounting filesystems
mount: mounting usbfs on /proc/bus/usb failed: No such file or directory
Starting syslogd and klogd
Running sysctl
Setting up networking on loopback device:
Setting up networking on eth0:
SIOCSIFFLAGS: Cannot assign requested address
Adding static route for default gateway to 192.168.1.1:
SIOCADDRT: Network is unreachable
Setting nameserver to 192.168.1.1 in /etc/resolv.conf:
Setting up networking on eth1:
SIOCSIFFLAGS: Cannot assign requested address
Adding static route for default gateway to 192.168.1.1:
SIOCADDRT: Network is unreachable
Setting nameserver to 192.168.1.1 in /etc/resolv.conf:
Starting inetd:
Please set the system time using
    date <mmddhhmnyyyy>
    /sbin/hwclock -w


        Welcome to Freescale Semiconductor Embedded Linux Environment

!!!!! WARNING !!!!!!!

The default password for the root account is: root
please change this password using the 'passwd' command
and then edit this message (/etc/issue) to remove this message

mpc837xemds login: root
Password:
[root@mpc837xemds /root]#
[root@mpc837xemds /root]#
[root@mpc837xemds /root]#
[root@mpc837xemds /root]# cat /proc/interrupts
           CPU0
 40:         55  CPM2 SIU Level     cpm_uart
LOC:       3507   Local timer interrupts
SPU:          0   Spurious interrupts
CNT:          0   Performance monitoring interrupts
MCE:          0   Machine check exceptions
[root@mpc837xemds /root]# cat /proc/interrupts
           CPU0
 40:         67  CPM2 SIU Level     cpm_uart
LOC:       3536   Local timer interrupts
SPU:          0   Spurious interrupts
CNT:          0   Performance monitoring interrupts
MCE:          0   Machine check exceptions
[root@mpc837xemds /root]# ping localhost
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: seq=0 ttl=64 time=1.803 ms
64 bytes from 127.0.0.1: seq=1 ttl=64 time=1.784 ms
64 bytes from 127.0.0.1: seq=2 ttl=64 time=1.190 ms
64 bytes from 127.0.0.1: seq=3 ttl=64 time=1.187 ms

--- localhost ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 1.187/1.491/1.803 ms
[root@mpc837xemds /root]# cat /proc/interrupts
           CPU0
 40:        106  CPM2 SIU Level     cpm_uart
LOC:       3636   Local timer interrupts
SPU:          0   Spurious interrupts
CNT:          0   Performance monitoring interrupts
MCE:          0   Machine check exceptions
[root@mpc837xemds /root]# ping l
[root@mpc837xemds /root]# ifconfig
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:672 (672.0 b)  TX bytes:672 (672.0 b)

[root@mpc837xemds /root]# ifconfig eth0 up
SIOCSIFFLAGS: Cannot assign requested address
[root@mpc837xemds /root]# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:00:00:00:00:00
          inet addr:192.168.1.100  Bcast:192.168.1.255
Mask:255.255.255.0
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

eth1      Link encap:Ethernet  HWaddr 00:00:00:00:00:00
          inet addr:192.168.1.101  Bcast:192.168.1.255
Mask:255.255.255.0
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:672 (672.0 b)  TX bytes:672 (672.0 b)

sit0      Link encap:UNSPEC  HWaddr
00-00-00-00-04-22-10-02-00-00-00-00-00-00-00-00
          NOARP  MTU:1480  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

[root@mpc837xemds /root]# ifconfig eth0 hw ether 00:00:00:00:00:01
[root@mpc837xemds /root]# ifconfig eth0 up
ADDRCONF(NETDEV_UP): eth0: link is not ready
[root@mpc837xemds /root]# ADDRCONF(NETDEV_CHANGE): eth0: link becomes
ready

[root@mpc837xemds /root]#
[root@mpc837xemds /root]#
[root@mpc837xemds /root]#
[root@mpc837xemds /root]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:00:00:00:00:01
          inet addr:192.168.1.100  Bcast:192.168.1.255
Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:5
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:398 (398.0 b)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:672 (672.0 b)  TX bytes:672 (672.0 b)

[root@mpc837xemds /root]# ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes

--- 192.168.1.1 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss
[root@mpc837xemds /root]# cat /proc/interrupts
           CPU0
 32:          9  CPM2 SIU Level     fs_enet-mac
 40:        384  CPM2 SIU Level     cpm_uart
LOC:       4369   Local timer interrupts
SPU:          0   Spurious interrupts
CNT:          0   Performance monitoring interrupts
MCE:          0   Machine check exceptions
[root@mpc837xemds /root]#




Regards,
Smitha

Please do not print this email unless it is absolutely necessary. 

The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. 

WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. 

www.wipro.com

[-- Attachment #2: mpc8272ads.dts --]
[-- Type: application/octet-stream, Size: 6684 bytes --]

/*
 * MPC8272 ADS Device Tree Source
 *
 * Copyright 2005,2008 Freescale Semiconductor Inc.
 *
 * This program is free software; you can redistribute  it and/or modify it
 * under  the terms of  the GNU General  Public License as published by the
 * Free Software Foundation;  either version 2 of the  License, or (at your
 * option) any later version.
 */

/dts-v1/;

/ {
	model = "MPC8272ADS";
	compatible = "fsl,mpc8272ads";
	#address-cells = <1>;
	#size-cells = <1>;

	aliases {
		ethernet0 = &eth0;
		ethernet1 = &eth1;
		serial0 = &scc1;
		serial1 = &scc4;
	};

	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		PowerPC,8247@0 {
			device_type = "cpu";
			reg = <0x0>;
			d-cache-line-size = <32>;
			i-cache-line-size = <32>;
			d-cache-size = <16384>;
			i-cache-size = <16384>;
			timebase-frequency = <0>;
			bus-frequency = <0>;
			clock-frequency = <0>;
		};
	};

	memory {
		device_type = "memory";
		reg = <0x0 0x4000000>;
	};

	localbus@f0010100 {
		compatible = "fsl,mpc8272-localbus",
		             "fsl,pq2-localbus";
		#address-cells = <2>;
		#size-cells = <1>;
		reg = <0xf0010100 0x40>;

		ranges = <0x0 0x0 0xff800000 0x00800000>;
		    /*      0x1 0x0 0xf4500000 0x8000
		          0x3 0x0 0xf8200000 0x8000>; */

		flash@0,0 {
			compatible = "jedec-flash";
			reg = <0x0 0x0 0x00800000>;
			bank-width = <4>;
			device-width = <1>;
		};
/*
		board-control@1,0 {
			reg = <0x1 0x0 0x20>;
			compatible = "fsl,mpc8272ads-bcsr";
		};

		PCI_PIC: interrupt-controller@3,0 {
			compatible = "fsl,mpc8272ads-pci-pic",
			             "fsl,pq2ads-pci-pic";
			#interrupt-cells = <1>;
			interrupt-controller;
			reg = <0x3 0x0 0x8>;
			interrupt-parent = <&PIC>;
			interrupts = <20 8>;
		};
*/	};

/*
	pci@f0010800 {
		device_type = "pci";
		reg = <0xf0010800 0x10c 0xf00101ac 0x8 0xf00101c4 0x8>;
		compatible = "fsl,mpc8272-pci", "fsl,pq2-pci";
		#interrupt-cells = <1>;
		#size-cells = <2>;
		#address-cells = <3>;
		clock-frequency = <66666666>;
		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
		interrupt-map = <
		                 /* IDSEL 0x16 
		                 0xb000 0x0 0x0 0x1 &PCI_PIC 0
		                 0xb000 0x0 0x0 0x2 &PCI_PIC 1
		                 0xb000 0x0 0x0 0x3 &PCI_PIC 2
		                 0xb000 0x0 0x0 0x4 &PCI_PIC 3

		                 /* IDSEL 0x17 
		                 0xb800 0x0 0x0 0x1 &PCI_PIC 4
		                 0xb800 0x0 0x0 0x2 &PCI_PIC 5
		                 0xb800 0x0 0x0 0x3 &PCI_PIC 6
		                 0xb800 0x0 0x0 0x4 &PCI_PIC 7

		                 /* IDSEL 0x18 
		                 0xc000 0x0 0x0 0x1 &PCI_PIC 8
		                 0xc000 0x0 0x0 0x2 &PCI_PIC 9
		                 0xc000 0x0 0x0 0x3 &PCI_PIC 10
		                 0xc000 0x0 0x0 0x4 &PCI_PIC 11>;

		interrupt-parent = <&PIC>;
		interrupts = <18 8>;
		ranges = <0x42000000 0x0 0x80000000 0x80000000 0x0 0x20000000
		          0x2000000 0x0 0xa0000000 0xa0000000 0x0 0x20000000
		          0x1000000 0x0 0x0 0xf6000000 0x0 0x2000000>;
	};
*/
	soc@f0000000 {
		#address-cells = <1>;
		#size-cells = <1>;
		device_type = "soc";
		compatible = "fsl,mpc8272", "fsl,pq2-soc";
		ranges = <0x0 0xf0000000 0x53000>;

		// Temporary -- will go away once kernel uses ranges for get_immrbase().
		reg = <0xf0000000 0x53000>;

		cpm@119c0 {
			#address-cells = <1>;
			#size-cells = <1>;
			compatible = "fsl,mpc8272-cpm", "fsl,cpm2";
			reg = <0x119c0 0x30>;
			ranges;

			muram@0 {
				#address-cells = <1>;
				#size-cells = <1>;
				ranges = <0x0 0x0 0x10000>;

				data@0 {
					compatible = "fsl,cpm-muram-data";
					reg = <0x0 0x2000 0x9800 0x800>;
				};
			};

			brg@119f0 {
				compatible = "fsl,mpc8272-brg",
				             "fsl,cpm2-brg",
				             "fsl,cpm-brg";
				reg = <0x119f0 0x10 0x115f0 0x10>;
			};

			scc1: serial@11a00 {
				device_type = "serial";
				compatible = "fsl,mpc8272-scc-uart",
				             "fsl,cpm2-scc-uart";
				reg = <0x11a00 0x20 0x8000 0x100>;
				interrupts = <40 8>;
				interrupt-parent = <&PIC>;
				fsl,cpm-brg = <1>;
				fsl,cpm-command = <0x800000>;
			};

			scc4: serial@11a60 {
				device_type = "serial";
				compatible = "fsl,mpc8272-scc-uart",
				             "fsl,cpm2-scc-uart";
				reg = <0x11a60 0x20 0x8300 0x100>;
				interrupts = <43 8>;
				interrupt-parent = <&PIC>;
				fsl,cpm-brg = <4>;
				fsl,cpm-command = <0xce00000>;
			};

		/*	usb@11b60 {
				compatible = "fsl,mpc8272-cpm-usb";
				reg = <0x11b60 0x40 0x8b00 0x100>;
				interrupts = <11 8>;
				interrupt-parent = <&PIC>;
				mode = "peripheral";
			}; */

			mdio@10d40 {
				device_type = "mdio";
				compatible = "fsl,mpc8272ads-mdio-bitbang",
				             "fsl,mpc8272-mdio-bitbang",
				             "fsl,cpm2-mdio-bitbang";
				reg = <0x10d40 0x14>;
				#address-cells = <1>;
				#size-cells = <0>;
				fsl,mdio-pin = <23>; 
				fsl,mdc-pin = <22>; 

				PHY0: ethernet-phy@0 {
					interrupt-parent = <&PIC>;
					interrupts = <23 8>;
					reg = <0x0>;
					device_type = "ethernet-phy";
				};

				PHY1: ethernet-phy@1 {
					interrupt-parent = <&PIC>;
					interrupts = <23 8>;
					reg = <0x3>;
					device_type = "ethernet-phy";
				};
			};

			eth0: ethernet@11300 {
				device_type = "network";
				compatible = "fsl,mpc8272-fcc-enet",
				             "fsl,cpm2-fcc-enet";
				reg = <0x11300 0x20 0x8400 0x100 0x11390 0x1>;
				local-mac-address = [ 00 00 00 00 00 00 ];
				interrupts = <32 8>;
				interrupt-parent = <&PIC>;
				phy-handle = <&PHY0>;
				linux,network-index = <0>;
				fsl,cpm-command = <0x12000300>;
			};

			eth1: ethernet@11320 {
				device_type = "network";
				compatible = "fsl,mpc8272-fcc-enet",
				             "fsl,cpm2-fcc-enet";
				reg = <0x11320 0x20 0x8500 0x100 0x113b0 0x1>;
				local-mac-address = [ 00 00 00 00 00 00 ];
				interrupts = <33 8>;
				interrupt-parent = <&PIC>;
				phy-handle = <&PHY1>;
				linux,network-index = <1>;
				fsl,cpm-command = <0x16200300>;
			};

			i2c@11860 {
				compatible = "fsl,mpc8272-i2c",
					     "fsl,cpm2-i2c";
				reg = <0x11860 0x20 0x8afc 0x2>;
				interrupts = <1 8>;
				interrupt-parent = <&PIC>;
				fsl,cpm-command = <0x29600000>;
				#address-cells = <1>;
				#size-cells = <0>;
			};
		};

		PIC: interrupt-controller@10c00 {
			#interrupt-cells = <2>;
			interrupt-controller;
			reg = <0x10c00 0x80>;
			compatible = "fsl,mpc8272-pic", "fsl,cpm2-pic";
		};

		crypto@30000 {
			compatible = "fsl,sec1.0";
			reg = <0x40000 0x13000>;
			interrupts = <47 0x8>;
			interrupt-parent = <&PIC>;
			fsl,num-channels = <4>;
			fsl,channel-fifo-len = <24>;
			fsl,exec-units-mask = <0x7e>;
			fsl,descriptor-types-mask = <0x1010415>;
		};
	};

	chosen {
		linux,stdout-path = "/soc/cpm/serial@11a00";
	};
};

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Kernel boot up
  2011-08-26  6:00               ` smitha.vanga
@ 2011-08-26 20:08                 ` Scott Wood
  2011-09-22 15:25                   ` I2c driver crash smitha.vanga
                                     ` (2 more replies)
  0 siblings, 3 replies; 30+ messages in thread
From: Scott Wood @ 2011-08-26 20:08 UTC (permalink / raw)
  To: smitha.vanga; +Cc: linuxppc-dev

On 08/26/2011 01:00 AM, smitha.vanga@wipro.com wrote:
>  
> Thanks scott.
> 
> There was an issue with the file system. Now my board is up with the
> linux boot prompt .
> But ping is not working. 

You still haven't set your MAC address.  U-Boot should be fixing this up
in the device tree.

> The local loopback ping works. My phy chip
> BCM5221 is connected on port A

Your device tree describes a connection on port C.  You need to update
the mdio node's reg to point to port A's registers (0x10d00), and
fsl,mdio-pin and fsl,mdc-pin need to be set to the particular pins your
board uses.

-Scott

^ permalink raw reply	[flat|nested] 30+ messages in thread

* I2c driver crash
  2011-08-26 20:08                 ` Scott Wood
@ 2011-09-22 15:25                   ` smitha.vanga
  2011-09-23  1:28                     ` Benjamin Herrenschmidt
  2011-10-03 12:31                   ` Request_irq fails for IRQ2 smitha.vanga
  2011-12-30 12:51                   ` Mac address in the DTS file smitha.vanga
  2 siblings, 1 reply; 30+ messages in thread
From: smitha.vanga @ 2011-09-22 15:25 UTC (permalink / raw)
  To: scottwood; +Cc: linuxppc-dev

[-- Attachment #1: Type: text/plain, Size: 9837 bytes --]

Hi Scott,

When I call if  i2c_master_send(&ds75->i2c_client,buffer,2) it crashes. In module initialization I don't see any errors. Below are kernel messages. Could you please let me know what may be the reason for this crash.

-----------Logs---------
Loading Temperature Sensor Interface module (temp_if.ko)
ds75_init
DS75_DRIVER : Open
DS75_DRIVER : Device Open Successful!
DS75_DRIVER  : ioctl TEMP_READ cmd 1
 ds75_temp_read calling i2c_master_send
In i2c_master_send enter-------
Unable to handle kernel paging request for data at address 0x00000010
Faulting instruction address: 0xc01b06a4
Oops: Kernel access of bad area, sig: 11 [#1]

Modules linked in: temp_if gpio_if
NIP: C01B06A4 LR: C01B06A0 CTR: C019BC90
REGS: c309bdc0 TRAP: 0300   Not tainted  (2.6.21.7-hrt1-cfs-v22-grsec-WR2.0bl_cgl)
MSR: 00009032 <EE,ME,IR,DR>  CR: 44004822  XER: 00000000
DAR: 00000010, DSISR: 20000000
TASK = c306f810[145] 'epn412' THREAD: c309a000
GPR00: 00007D00 C309BE70 C306F810 C02A0000 00000001 00000001 00000000 FDFBD0A0
GPR08: 003DE8A0 A827A936 00003F78 C02EAE88 00000001 1011C7C0 03EFD000 FFFFFFFF
GPR16: 00000001 00000000 007FFC00 37942FA8 1012EAC0 1001E530 37942FB4 00000003
GPR24: 37942FB4 00000000 003D0F00 C309BEA8 FFFFFFF7 00000008 C309BEA8 00000002
Call Trace:
[C309BE70] [C01B0698]  (unreliable)
[C309BEA0] [C50B71DC]
[C309BED0] [C007A0D0]
[C309BEE0] [C007A158]
[C309BF10] [C007A4EC]
[C309BF40] [C000E780]
--- Exception: c01Instruction dump:
7c0802a6 bf61001c 7c7d1b78 3c60c02a 386313b4 7cbf2b78 90010034 7c9b2378
4be6bc79 386007d0 4be5ac6d 3c60c02a <839d0008> 386313d8 4be6bc61 a01d0004




Below is the driver code.
-------------------------

#include "temp_if.h"
#include <asm-powerpc/uaccess.h>
#include <linux/i2c.h>
//#include <asm/arch/platform.h>


#define I2C_DEBUG

#ifdef      I2C_DEBUG
#define     I2C_DBG1(x)                 printk(KERN_WARNING x)
#define     I2C_DBG2(x,y)               printk(KERN_WARNING x,y)
#define     I2C_DBG3(x,y,z)             printk(KERN_WARNING x,y,z)
#define     I2C_DBG4(w,x,y,z)           printk(KERN_WARNING w,x,y,z)
#else
#define I2C_DBG1(x)
#define I2C_DBG2(x,y)
#define I2C_DBG3(x,y,z)
#define I2C_DBG4(w,x,y,z)
#endif

/* Function Prototype */
static int ds75_open(struct inode *inode, struct file *filp);
static int ds75_iotcl(struct inode *inode, struct file *flip, unsigned int cmd, unsigned long arg);
static int ds75_release(struct inode *inode, struct file *flip);
int ds75_attach_client(struct ds75_data * ds75, struct i2c_adapter *adapter);

int ds75_attach_adapter(struct i2c_adapter *adapter);
int ds75_detach_client(struct i2c_client *client);




/* Structure */
static struct file_operations tmpsensor_fops =
{
        ioctl:          ds75_iotcl,
        open:           ds75_open,
        release:        ds75_release,

};

static struct i2c_driver ds75_driver = {
        .driver = {
                .name   = "DS75",
        },
        .attach_adapter = ds75_attach_adapter,
        .detach_client  = ds75_detach_client,
};

/* Global Variable */
static int s_nI2CMajor = 0;
static int s_bI2CDevOpen = 0;
static int s_nUseCnt = 0;
struct ds75_data *ds75;


static int ds75_open(struct inode *inode, struct file *flip)
{
  I2C_DBG1( "DS75_DRIVER : Open\n");
  if(s_bI2CDevOpen == 0)
    {
      I2C_DBG1("DS75_DRIVER : Device Open Successful!\n");
      s_bI2CDevOpen = 1;
      s_nUseCnt++;

    }
  else
    {
      I2C_DBG1("DS75_DRIVER : Device Already Opened Successfully!\n");
      s_bI2CDevOpen = 1;
      s_nUseCnt++;
    }
  return 0;
}


static int ds75_release(struct inode *inode, struct file *flip)
{
  I2C_DBG1 (KERN_INFO "Entering ds75_release\n" );
  if(s_bI2CDevOpen)
    {
      if( s_nUseCnt <= 0 )
        {
          I2C_DBG1("DS75_DRIVER  : i2c driver can't be released!\n");
          return -EIO;
        }
      else
        {
          I2C_DBG1("DS75_DRIVER  : Release Successful!\n");
          s_nUseCnt--;
          if( s_nUseCnt == 0 )
            {
              s_bI2CDevOpen = 0;
              I2C_DBG1("DS75_DRIVER  : I2C Driver is Closed!\n");
                }
        }
      return 0;
    }
  else
    {
      I2C_DBG1("DS75_DRIVER  : Release Fail! (Device is Not Open)\n");
      return -EIO;
    }
}

/*
 This function will read the Temperature from the device and copies to user space
*/
static int ds75_temp_read(struct ds75_msg_t *pData)
{
     //unsigned char buffer[4];
     signed char buffer[4];
     int ret;
     buffer[0]=0;  /* Writing 0 in to Pointer register. --> Temprature read register */
     if ((ret = i2c_master_send(&ds75->i2c_client,buffer,2)) !=2)
     {
         I2C_DBG2("DS75_DRIVER  : Error writing to I2C ret = %d\n",ret);
                     return -1;
     }

     /* reading from the temperature read register */
     if (i2c_master_recv(&ds75->i2c_client,buffer,2)!= 2)
     {
         I2C_DBG1("DS75_DRIVER  : Error reading from I2C\n");
                     return -1;
     }

     //I2C_DBG3("DS75_DRIVER: data[0] = %d, data[1] = %d \n",buffer[0],buffer[1]);
        //I2C_DBG3("DS75_DRIVER: data[0] = %d, data[1] = %d \n",buffer[0],buffer[1]);

     /* Copy User Memory Area */
           if(copy_to_user(pData->ReadData,buffer, 2 ) != 0)
           {
              I2C_DBG1("DS75_DRIVER  : error in copying to user space");
              return -1;
           }

     return 0;  /* Success */

}


static int ds75_iotcl(struct inode *inode, struct file *flip, unsigned int cmd, unsigned long arg)
{
        int nRetVal = 0;

        if( ((struct ds75_msg_t *)arg) == NULL ){
                I2C_DBG1("DS75_DRIVER  : ioctl Message Buff must not be NULL\n");
                return -EFAULT;
        }

        switch(cmd){
                case TEMP_READ:
                        I2C_DBG2("DS75_DRIVER  : ioctl TEMP_READ cmd %d\n",cmd);
                        nRetVal = ds75_temp_read((struct ds75_msg_t *) arg);
                        break;

                default:
                        /* Error! */
                        I2C_DBG1("DS75_DRIVER  : Command  not implemented\n");
                        nRetVal = -EIO;
                        break;
        }
        return nRetVal;
}


/*
 *  i2c_attach_client - tries to detect and initialize slics
*/
int ds75_attach_client(struct ds75_data * ds75, struct i2c_adapter *adapter)
{
        struct i2c_client * client;

        /* register i2c client */
        client = &ds75->i2c_client;
        client->adapter = adapter;
        client->driver = &ds75_driver;
//      client->flags = I2C_CLIENT_ALLOW_USE;
  client->addr = DS75_ADDR;
  strlcpy(client->name, "DS75", I2C_NAME_SIZE);
        i2c_set_clientdata(client, ds75);

        if (i2c_attach_client(client))
     return -1;

        printk (KERN_INFO DS75_DRIVER_NAME ": I2C client attached\n");
        return 0;
}

/*
 *  i2c_attach_adapter - initializes the maxim driver
*/
int ds75_attach_adapter(struct i2c_adapter *adapter)
{
        /* allocate maxim_data structure */
        ds75 = kmalloc(sizeof (struct ds75_data), GFP_KERNEL);
        if (ds75 == NULL)
        {
           printk (KERN_ERR "Unable to allocate memory for ds75 temp sensor driver\n");
           goto err0;
        }
        memset(ds75, 0, sizeof(struct ds75_data));

        /* Attach Spi Client */
        if (ds75_attach_client(ds75, adapter) != 0)
        {
           printk (KERN_ERR "No ds75 device detected\n");
           goto err1;
        }

        return 0;

err1:
        kfree(ds75);
err0:
        return -1;
}

/*
 *  i2c_detach_client - cleans up the maxim driver
*/
int ds75_detach_client(struct i2c_client *client)
{
        struct ds75_data *ds75 = i2c_get_clientdata(client);

        if (ds75->owned_irq)
        {
                free_irq(ds75->irq, ds75);
                ds75->owned_irq = 0;

        }

        i2c_detach_client(&ds75->i2c_client);

        kfree (ds75);      // Free the kernel memory */

        return 0;
}




/*
 * Temperature sensor DS75 init -
 *
 */
int __init ds75_init(void)
{
        int rc;
        rc = i2c_add_driver(&ds75_driver);
        if (rc)
        {
                printk (KERN_ERR DS75_DRIVER_NAME ": unable to add driver\n");
                return rc;
        }

        rc = register_chrdev (DS75_DEVICE_MAJOR_NUM, DS75_DRIVER_NAME, &tmpsensor_fops);
        if (rc)
        {
                printk (KERN_ERR DS75_DRIVER_NAME ": unable to register char device\n");
                return rc;
        }

        return 0;
}

/**
 * maxim _exit -
 *
 *
 */
void __exit ds75_exit(void)
{
        unregister_chrdev (DS75_DEVICE_MAJOR_NUM, DS75_DRIVER_NAME);

        i2c_del_driver(&ds75_driver);
}

MODULE_AUTHOR("xxxx");
MODULE_DESCRIPTION("DS75 I2C driver");
MODULE_LICENSE("GPL");

module_init(ds75_init);
module_exit(ds75_exit);


Regards,
Smitha

Please do not print this email unless it is absolutely necessary. 

The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. 

WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. 

www.wipro.com

[-- Attachment #2: Type: text/html, Size: 18804 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: I2c driver crash
  2011-09-22 15:25                   ` I2c driver crash smitha.vanga
@ 2011-09-23  1:28                     ` Benjamin Herrenschmidt
  2011-09-23  6:05                       ` MohanReddy koppula
  0 siblings, 1 reply; 30+ messages in thread
From: Benjamin Herrenschmidt @ 2011-09-23  1:28 UTC (permalink / raw)
  To: smitha.vanga; +Cc: scottwood, linuxppc-dev

On Thu, 2011-09-22 at 15:25 +0000, smitha.vanga@wipro.com wrote:
> Hi Scott,
> 
> When I call if  i2c_master_send(&ds75->i2c_client,buffer,2) it
> crashes. In module initialization I don't see any errors. Below are
> kernel messages. Could you please let me know what may be the reason
> for this crash.

Why the heck are you trying to write a new driver for ds75 ? There's
already one in there (lm75, same thing).

Cheers,
Ben.

> -----------Logs---------
> Loading Temperature Sensor Interface module (temp_if.ko)
> ds75_init
> DS75_DRIVER : Open
> DS75_DRIVER : Device Open Successful!
> DS75_DRIVER  : ioctl TEMP_READ cmd 1
>  ds75_temp_read calling i2c_master_send
> In i2c_master_send enter-------
> Unable to handle kernel paging request for data at address 0x00000010
> Faulting instruction address: 0xc01b06a4
> Oops: Kernel access of bad area, sig: 11 [#1]
> 
> Modules linked in: temp_if gpio_if
> NIP: C01B06A4 LR: C01B06A0 CTR: C019BC90
> REGS: c309bdc0 TRAP: 0300   Not tainted
> (2.6.21.7-hrt1-cfs-v22-grsec-WR2.0bl_cgl)
> MSR: 00009032 <EE,ME,IR,DR>  CR: 44004822  XER: 00000000
> DAR: 00000010, DSISR: 20000000
> TASK = c306f810[145] 'epn412' THREAD: c309a000
> GPR00: 00007D00 C309BE70 C306F810 C02A0000 00000001 00000001 00000000
> FDFBD0A0
> GPR08: 003DE8A0 A827A936 00003F78 C02EAE88 00000001 1011C7C0 03EFD000
> FFFFFFFF
> GPR16: 00000001 00000000 007FFC00 37942FA8 1012EAC0 1001E530 37942FB4
> 00000003
> GPR24: 37942FB4 00000000 003D0F00 C309BEA8 FFFFFFF7 00000008 C309BEA8
> 00000002
> Call Trace:
> [C309BE70] [C01B0698]  (unreliable)
> [C309BEA0] [C50B71DC]
> [C309BED0] [C007A0D0]
> [C309BEE0] [C007A158]
> [C309BF10] [C007A4EC]
> [C309BF40] [C000E780]
> --- Exception: c01Instruction dump:
> 7c0802a6 bf61001c 7c7d1b78 3c60c02a 386313b4 7cbf2b78 90010034
> 7c9b2378
> 4be6bc79 386007d0 4be5ac6d 3c60c02a <839d0008> 386313d8 4be6bc61
> a01d0004
> 
> 
> 
> 
> Below is the driver code.
> -------------------------
> 
> #include "temp_if.h"
> #include <asm-powerpc/uaccess.h>
> #include <linux/i2c.h>
> //#include <asm/arch/platform.h>
> 
> 
> #define I2C_DEBUG
> 
> #ifdef      I2C_DEBUG
> #define     I2C_DBG1(x)                 printk(KERN_WARNING x)
> #define     I2C_DBG2(x,y)               printk(KERN_WARNING x,y)
> #define     I2C_DBG3(x,y,z)             printk(KERN_WARNING x,y,z)
> #define     I2C_DBG4(w,x,y,z)           printk(KERN_WARNING w,x,y,z)
> #else
> #define I2C_DBG1(x)                
> #define I2C_DBG2(x,y)
> #define I2C_DBG3(x,y,z)
> #define I2C_DBG4(w,x,y,z)
> #endif
> 
> /* Function Prototype */
> static int ds75_open(struct inode *inode, struct file *filp);
> static int ds75_iotcl(struct inode *inode, struct file *flip, unsigned
> int cmd, unsigned long arg);
> static int ds75_release(struct inode *inode, struct file *flip);
> int ds75_attach_client(struct ds75_data * ds75, struct i2c_adapter
> *adapter);
> 
> int ds75_attach_adapter(struct i2c_adapter *adapter);
> int ds75_detach_client(struct i2c_client *client);
> 
> 
> 
> 
> /* Structure */
> static struct file_operations tmpsensor_fops =
> {
>         ioctl:          ds75_iotcl,
>         open:           ds75_open,
>         release:        ds75_release,  
> 
> };
> 
> static struct i2c_driver ds75_driver = {
>         .driver = {
>                 .name   = "DS75",
>         },
>         .attach_adapter = ds75_attach_adapter,
>         .detach_client  = ds75_detach_client,
> };
> 
> /* Global Variable */
> static int s_nI2CMajor = 0;
> static int s_bI2CDevOpen = 0;
> static int s_nUseCnt = 0;
> struct ds75_data *ds75;
> 
> 
> static int ds75_open(struct inode *inode, struct file *flip)
> {
>   I2C_DBG1( "DS75_DRIVER : Open\n");
>   if(s_bI2CDevOpen == 0)
>     {
>       I2C_DBG1("DS75_DRIVER : Device Open Successful!\n");
>       s_bI2CDevOpen = 1;
>       s_nUseCnt++;
>      
>     }
>   else
>     {
>       I2C_DBG1("DS75_DRIVER : Device Already Opened Successfully!\n");
>       s_bI2CDevOpen = 1;
>       s_nUseCnt++;
>     }
>   return 0;
> }
> 
> 
> static int ds75_release(struct inode *inode, struct file *flip)
> {
>   I2C_DBG1 (KERN_INFO "Entering ds75_release\n" );
>   if(s_bI2CDevOpen)
>     {
>       if( s_nUseCnt <= 0 )
>         {
>           I2C_DBG1("DS75_DRIVER  : i2c driver can't be released!\n");
>           return -EIO;
>         }
>       else
>         {
>           I2C_DBG1("DS75_DRIVER  : Release Successful!\n");
>           s_nUseCnt--;
>           if( s_nUseCnt == 0 )
>             {
>               s_bI2CDevOpen = 0;
>               I2C_DBG1("DS75_DRIVER  : I2C Driver is Closed!\n");
>                 }
>         }
>       return 0;
>     }
>   else
>     {
>       I2C_DBG1("DS75_DRIVER  : Release Fail! (Device is Not Open)\n");
>       return -EIO;
>     }
> }
> 
> /*
>  This function will read the Temperature from the device and copies to
> user space
> */
> static int ds75_temp_read(struct ds75_msg_t *pData)
> {
>      //unsigned char buffer[4];
>      signed char buffer[4];
>      int ret;
>      buffer[0]=0;  /* Writing 0 in to Pointer register. --> Temprature
> read register */
>      if ((ret = i2c_master_send(&ds75->i2c_client,buffer,2)) !=2)
>      {
>          I2C_DBG2("DS75_DRIVER  : Error writing to I2C ret = %d
> \n",ret);
>                      return -1;
>      }
>     
>      /* reading from the temperature read register */
>      if (i2c_master_recv(&ds75->i2c_client,buffer,2)!= 2)
>      {
>          I2C_DBG1("DS75_DRIVER  : Error reading from I2C\n");
>                      return -1;
>      }
>     
>      //I2C_DBG3("DS75_DRIVER: data[0] = %d, data[1] = %d
> \n",buffer[0],buffer[1]);
>         //I2C_DBG3("DS75_DRIVER: data[0] = %d, data[1] = %d
> \n",buffer[0],buffer[1]);
>     
>      /* Copy User Memory Area */
>            if(copy_to_user(pData->ReadData,buffer, 2 ) != 0)
>            {
>               I2C_DBG1("DS75_DRIVER  : error in copying to user
> space");
>               return -1;
>            }
> 
>      return 0;  /* Success */
>     
> }
> 
> 
> static int ds75_iotcl(struct inode *inode, struct file *flip, unsigned
> int cmd, unsigned long arg)
> {
>         int nRetVal = 0;
>        
>         if( ((struct ds75_msg_t *)arg) == NULL ){
>                 I2C_DBG1("DS75_DRIVER  : ioctl Message Buff must not
> be NULL\n");
>                 return -EFAULT;
>         }
> 
>         switch(cmd){
>                 case TEMP_READ:
>                         I2C_DBG2("DS75_DRIVER  : ioctl TEMP_READ cmd %
> d\n",cmd);
>                         nRetVal = ds75_temp_read((struct ds75_msg_t *)
> arg);
>                         break;
>      
>                 default:
>                         /* Error! */
>                         I2C_DBG1("DS75_DRIVER  : Command  not
> implemented\n");
>                         nRetVal = -EIO;
>                         break;
>         }
>         return nRetVal;
> }
> 
> 
> /*
>  *  i2c_attach_client - tries to detect and initialize slics
> */
> int ds75_attach_client(struct ds75_data * ds75, struct i2c_adapter
> *adapter)
> {
>         struct i2c_client * client;
> 
>         /* register i2c client */
>         client = &ds75->i2c_client;
>         client->adapter = adapter;
>         client->driver = &ds75_driver;
> //      client->flags = I2C_CLIENT_ALLOW_USE;
>   client->addr = DS75_ADDR;       
>   strlcpy(client->name, "DS75", I2C_NAME_SIZE);
>         i2c_set_clientdata(client, ds75);
>  
>         if (i2c_attach_client(client))
>      return -1;
>  
>         printk (KERN_INFO DS75_DRIVER_NAME ": I2C client attached\n");
>         return 0;
> }
> 
> /*
>  *  i2c_attach_adapter - initializes the maxim driver
> */
> int ds75_attach_adapter(struct i2c_adapter *adapter)
> {
>         /* allocate maxim_data structure */
>         ds75 = kmalloc(sizeof (struct ds75_data), GFP_KERNEL);
>         if (ds75 == NULL)
>         {
>            printk (KERN_ERR "Unable to allocate memory for ds75 temp
> sensor driver\n");
>            goto err0;
>         }
>         memset(ds75, 0, sizeof(struct ds75_data));
> 
>         /* Attach Spi Client */
>         if (ds75_attach_client(ds75, adapter) != 0)
>         {
>            printk (KERN_ERR "No ds75 device detected\n");
>            goto err1;
>         }
> 
>         return 0;
> 
> err1:
>         kfree(ds75);
> err0:
>         return -1;
> }
> 
> /*
>  *  i2c_detach_client - cleans up the maxim driver
> */
> int ds75_detach_client(struct i2c_client *client)
> {
>         struct ds75_data *ds75 = i2c_get_clientdata(client);
> 
>         if (ds75->owned_irq)
>         {
>                 free_irq(ds75->irq, ds75);
>                 ds75->owned_irq = 0;
>                
>         }
> 
>         i2c_detach_client(&ds75->i2c_client);
>    
>         kfree (ds75);      // Free the kernel memory */
> 
>         return 0;
> }
> 
> 
> 
> 
> /*
>  * Temperature sensor DS75 init -
>  *
>  */
> int __init ds75_init(void)
> {
>         int rc;
>         rc = i2c_add_driver(&ds75_driver);
>         if (rc)
>         {
>                 printk (KERN_ERR DS75_DRIVER_NAME ": unable to add
> driver\n");
>                 return rc;
>         }
> 
>         rc = register_chrdev (DS75_DEVICE_MAJOR_NUM, DS75_DRIVER_NAME,
> &tmpsensor_fops);
>         if (rc)
>         {
>                 printk (KERN_ERR DS75_DRIVER_NAME ": unable to
> register char device\n");
>                 return rc;
>         }
> 
>         return 0;
> }
> 
> /**
>  * maxim _exit -
>  *
>  *
>  */
> void __exit ds75_exit(void)
> {
>         unregister_chrdev (DS75_DEVICE_MAJOR_NUM, DS75_DRIVER_NAME);
> 
>         i2c_del_driver(&ds75_driver);
> }
> 
> MODULE_AUTHOR("xxxx");
> MODULE_DESCRIPTION("DS75 I2C driver");
> MODULE_LICENSE("GPL");
> 
> module_init(ds75_init);
> module_exit(ds75_exit);
> 
> 
> Regards,
> Smitha 
> 
> Please do not print this email unless it is absolutely necessary. 
> 
> The information contained in this electronic message and any
> attachments to this message are intended for the exclusive use of the
> addressee(s) and may contain proprietary, confidential or privileged
> information. If you are not the intended recipient, you should not
> disseminate, distribute or copy this e-mail. Please notify the sender
> immediately and destroy all copies of this message and any
> attachments. 
> 
> WARNING: Computer viruses can be transmitted via email. The recipient
> should check this email and any attachments for the presence of
> viruses. The company accepts no liability for any damage caused by any
> virus transmitted by this email. 
> 
> www.wipro.com
> 
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: I2c driver crash
  2011-09-23  1:28                     ` Benjamin Herrenschmidt
@ 2011-09-23  6:05                       ` MohanReddy koppula
  0 siblings, 0 replies; 30+ messages in thread
From: MohanReddy koppula @ 2011-09-23  6:05 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: scottwood, linuxppc-dev, smitha.vanga

I think the client->adapter pointer is NULL. Make sure the
ds75_attach_adapte() is called before you invoke ioctl().

-Mohan

On Fri, Sep 23, 2011 at 6:58 AM, Benjamin Herrenschmidt
<benh@kernel.crashing.org> wrote:
> On Thu, 2011-09-22 at 15:25 +0000, smitha.vanga@wipro.com wrote:
>> Hi Scott,
>>
>> When I call if =A0i2c_master_send(&ds75->i2c_client,buffer,2) it
>> crashes. In module initialization I don't see any errors. Below are
>> kernel messages. Could you please let me know what may be the reason
>> for this crash.
>
> Why the heck are you trying to write a new driver for ds75 ? There's
> already one in there (lm75, same thing).
>
> Cheers,
> Ben.
>
>> -----------Logs---------
>> Loading Temperature Sensor Interface module (temp_if.ko)
>> ds75_init
>> DS75_DRIVER : Open
>> DS75_DRIVER : Device Open Successful!
>> DS75_DRIVER =A0: ioctl TEMP_READ cmd 1
>> =A0ds75_temp_read calling i2c_master_send
>> In i2c_master_send enter-------
>> Unable to handle kernel paging request for data at address 0x00000010
>> Faulting instruction address: 0xc01b06a4
>> Oops: Kernel access of bad area, sig: 11 [#1]
>>
>> Modules linked in: temp_if gpio_if
>> NIP: C01B06A4 LR: C01B06A0 CTR: C019BC90
>> REGS: c309bdc0 TRAP: 0300 =A0 Not tainted
>> (2.6.21.7-hrt1-cfs-v22-grsec-WR2.0bl_cgl)
>> MSR: 00009032 <EE,ME,IR,DR> =A0CR: 44004822 =A0XER: 00000000
>> DAR: 00000010, DSISR: 20000000
>> TASK =3D c306f810[145] 'epn412' THREAD: c309a000
>> GPR00: 00007D00 C309BE70 C306F810 C02A0000 00000001 00000001 00000000
>> FDFBD0A0
>> GPR08: 003DE8A0 A827A936 00003F78 C02EAE88 00000001 1011C7C0 03EFD000
>> FFFFFFFF
>> GPR16: 00000001 00000000 007FFC00 37942FA8 1012EAC0 1001E530 37942FB4
>> 00000003
>> GPR24: 37942FB4 00000000 003D0F00 C309BEA8 FFFFFFF7 00000008 C309BEA8
>> 00000002
>> Call Trace:
>> [C309BE70] [C01B0698] =A0(unreliable)
>> [C309BEA0] [C50B71DC]
>> [C309BED0] [C007A0D0]
>> [C309BEE0] [C007A158]
>> [C309BF10] [C007A4EC]
>> [C309BF40] [C000E780]
>> --- Exception: c01Instruction dump:
>> 7c0802a6 bf61001c 7c7d1b78 3c60c02a 386313b4 7cbf2b78 90010034
>> 7c9b2378
>> 4be6bc79 386007d0 4be5ac6d 3c60c02a <839d0008> 386313d8 4be6bc61
>> a01d0004
>>
>>
>>
>>
>> Below is the driver code.
>> -------------------------
>>
>> #include "temp_if.h"
>> #include <asm-powerpc/uaccess.h>
>> #include <linux/i2c.h>
>> //#include <asm/arch/platform.h>
>>
>>
>> #define I2C_DEBUG
>>
>> #ifdef =A0 =A0 =A0I2C_DEBUG
>> #define =A0 =A0 I2C_DBG1(x) =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 printk(KERN_=
WARNING x)
>> #define =A0 =A0 I2C_DBG2(x,y) =A0 =A0 =A0 =A0 =A0 =A0 =A0 printk(KERN_WA=
RNING x,y)
>> #define =A0 =A0 I2C_DBG3(x,y,z) =A0 =A0 =A0 =A0 =A0 =A0 printk(KERN_WARN=
ING x,y,z)
>> #define =A0 =A0 I2C_DBG4(w,x,y,z) =A0 =A0 =A0 =A0 =A0 printk(KERN_WARNIN=
G w,x,y,z)
>> #else
>> #define I2C_DBG1(x)
>> #define I2C_DBG2(x,y)
>> #define I2C_DBG3(x,y,z)
>> #define I2C_DBG4(w,x,y,z)
>> #endif
>>
>> /* Function Prototype */
>> static int ds75_open(struct inode *inode, struct file *filp);
>> static int ds75_iotcl(struct inode *inode, struct file *flip, unsigned
>> int cmd, unsigned long arg);
>> static int ds75_release(struct inode *inode, struct file *flip);
>> int ds75_attach_client(struct ds75_data * ds75, struct i2c_adapter
>> *adapter);
>>
>> int ds75_attach_adapter(struct i2c_adapter *adapter);
>> int ds75_detach_client(struct i2c_client *client);
>>
>>
>>
>>
>> /* Structure */
>> static struct file_operations tmpsensor_fops =3D
>> {
>> =A0 =A0 =A0 =A0 ioctl: =A0 =A0 =A0 =A0 =A0ds75_iotcl,
>> =A0 =A0 =A0 =A0 open: =A0 =A0 =A0 =A0 =A0 ds75_open,
>> =A0 =A0 =A0 =A0 release: =A0 =A0 =A0 =A0ds75_release,
>>
>> };
>>
>> static struct i2c_driver ds75_driver =3D {
>> =A0 =A0 =A0 =A0 .driver =3D {
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 .name =A0 =3D "DS75",
>> =A0 =A0 =A0 =A0 },
>> =A0 =A0 =A0 =A0 .attach_adapter =3D ds75_attach_adapter,
>> =A0 =A0 =A0 =A0 .detach_client =A0=3D ds75_detach_client,
>> };
>>
>> /* Global Variable */
>> static int s_nI2CMajor =3D 0;
>> static int s_bI2CDevOpen =3D 0;
>> static int s_nUseCnt =3D 0;
>> struct ds75_data *ds75;
>>
>>
>> static int ds75_open(struct inode *inode, struct file *flip)
>> {
>> =A0 I2C_DBG1( "DS75_DRIVER : Open\n");
>> =A0 if(s_bI2CDevOpen =3D=3D 0)
>> =A0 =A0 {
>> =A0 =A0 =A0 I2C_DBG1("DS75_DRIVER : Device Open Successful!\n");
>> =A0 =A0 =A0 s_bI2CDevOpen =3D 1;
>> =A0 =A0 =A0 s_nUseCnt++;
>>
>> =A0 =A0 }
>> =A0 else
>> =A0 =A0 {
>> =A0 =A0 =A0 I2C_DBG1("DS75_DRIVER : Device Already Opened Successfully!\=
n");
>> =A0 =A0 =A0 s_bI2CDevOpen =3D 1;
>> =A0 =A0 =A0 s_nUseCnt++;
>> =A0 =A0 }
>> =A0 return 0;
>> }
>>
>>
>> static int ds75_release(struct inode *inode, struct file *flip)
>> {
>> =A0 I2C_DBG1 (KERN_INFO "Entering ds75_release\n" );
>> =A0 if(s_bI2CDevOpen)
>> =A0 =A0 {
>> =A0 =A0 =A0 if( s_nUseCnt <=3D 0 )
>> =A0 =A0 =A0 =A0 {
>> =A0 =A0 =A0 =A0 =A0 I2C_DBG1("DS75_DRIVER =A0: i2c driver can't be relea=
sed!\n");
>> =A0 =A0 =A0 =A0 =A0 return -EIO;
>> =A0 =A0 =A0 =A0 }
>> =A0 =A0 =A0 else
>> =A0 =A0 =A0 =A0 {
>> =A0 =A0 =A0 =A0 =A0 I2C_DBG1("DS75_DRIVER =A0: Release Successful!\n");
>> =A0 =A0 =A0 =A0 =A0 s_nUseCnt--;
>> =A0 =A0 =A0 =A0 =A0 if( s_nUseCnt =3D=3D 0 )
>> =A0 =A0 =A0 =A0 =A0 =A0 {
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 s_bI2CDevOpen =3D 0;
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 I2C_DBG1("DS75_DRIVER =A0: I2C Driver is Clo=
sed!\n");
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 }
>> =A0 =A0 =A0 =A0 }
>> =A0 =A0 =A0 return 0;
>> =A0 =A0 }
>> =A0 else
>> =A0 =A0 {
>> =A0 =A0 =A0 I2C_DBG1("DS75_DRIVER =A0: Release Fail! (Device is Not Open=
)\n");
>> =A0 =A0 =A0 return -EIO;
>> =A0 =A0 }
>> }
>>
>> /*
>> =A0This function will read the Temperature from the device and copies to
>> user space
>> */
>> static int ds75_temp_read(struct ds75_msg_t *pData)
>> {
>> =A0 =A0 =A0//unsigned char buffer[4];
>> =A0 =A0 =A0signed char buffer[4];
>> =A0 =A0 =A0int ret;
>> =A0 =A0 =A0buffer[0]=3D0; =A0/* Writing 0 in to Pointer register. --> Te=
mprature
>> read register */
>> =A0 =A0 =A0if ((ret =3D i2c_master_send(&ds75->i2c_client,buffer,2)) !=
=3D2)
>> =A0 =A0 =A0{
>> =A0 =A0 =A0 =A0 =A0I2C_DBG2("DS75_DRIVER =A0: Error writing to I2C ret =
=3D %d
>> \n",ret);
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0return -1;
>> =A0 =A0 =A0}
>>
>> =A0 =A0 =A0/* reading from the temperature read register */
>> =A0 =A0 =A0if (i2c_master_recv(&ds75->i2c_client,buffer,2)!=3D 2)
>> =A0 =A0 =A0{
>> =A0 =A0 =A0 =A0 =A0I2C_DBG1("DS75_DRIVER =A0: Error reading from I2C\n")=
;
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0return -1;
>> =A0 =A0 =A0}
>>
>> =A0 =A0 =A0//I2C_DBG3("DS75_DRIVER: data[0] =3D %d, data[1] =3D %d
>> \n",buffer[0],buffer[1]);
>> =A0 =A0 =A0 =A0 //I2C_DBG3("DS75_DRIVER: data[0] =3D %d, data[1] =3D %d
>> \n",buffer[0],buffer[1]);
>>
>> =A0 =A0 =A0/* Copy User Memory Area */
>> =A0 =A0 =A0 =A0 =A0 =A0if(copy_to_user(pData->ReadData,buffer, 2 ) !=3D =
0)
>> =A0 =A0 =A0 =A0 =A0 =A0{
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 I2C_DBG1("DS75_DRIVER =A0: error in copying =
to user
>> space");
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 return -1;
>> =A0 =A0 =A0 =A0 =A0 =A0}
>>
>> =A0 =A0 =A0return 0; =A0/* Success */
>>
>> }
>>
>>
>> static int ds75_iotcl(struct inode *inode, struct file *flip, unsigned
>> int cmd, unsigned long arg)
>> {
>> =A0 =A0 =A0 =A0 int nRetVal =3D 0;
>>
>> =A0 =A0 =A0 =A0 if( ((struct ds75_msg_t *)arg) =3D=3D NULL ){
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 I2C_DBG1("DS75_DRIVER =A0: ioctl Message=
 Buff must not
>> be NULL\n");
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 return -EFAULT;
>> =A0 =A0 =A0 =A0 }
>>
>> =A0 =A0 =A0 =A0 switch(cmd){
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 case TEMP_READ:
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 I2C_DBG2("DS75_DRIVER =
=A0: ioctl TEMP_READ cmd %
>> d\n",cmd);
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 nRetVal =3D ds75_temp_re=
ad((struct ds75_msg_t *)
>> arg);
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 break;
>>
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 default:
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 /* Error! */
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 I2C_DBG1("DS75_DRIVER =
=A0: Command =A0not
>> implemented\n");
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 nRetVal =3D -EIO;
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 break;
>> =A0 =A0 =A0 =A0 }
>> =A0 =A0 =A0 =A0 return nRetVal;
>> }
>>
>>
>> /*
>> =A0* =A0i2c_attach_client - tries to detect and initialize slics
>> */
>> int ds75_attach_client(struct ds75_data * ds75, struct i2c_adapter
>> *adapter)
>> {
>> =A0 =A0 =A0 =A0 struct i2c_client * client;
>>
>> =A0 =A0 =A0 =A0 /* register i2c client */
>> =A0 =A0 =A0 =A0 client =3D &ds75->i2c_client;
>> =A0 =A0 =A0 =A0 client->adapter =3D adapter;
>> =A0 =A0 =A0 =A0 client->driver =3D &ds75_driver;
>> // =A0 =A0 =A0client->flags =3D I2C_CLIENT_ALLOW_USE;
>> =A0 client->addr =3D DS75_ADDR;
>> =A0 strlcpy(client->name, "DS75", I2C_NAME_SIZE);
>> =A0 =A0 =A0 =A0 i2c_set_clientdata(client, ds75);
>>
>> =A0 =A0 =A0 =A0 if (i2c_attach_client(client))
>> =A0 =A0 =A0return -1;
>>
>> =A0 =A0 =A0 =A0 printk (KERN_INFO DS75_DRIVER_NAME ": I2C client attache=
d\n");
>> =A0 =A0 =A0 =A0 return 0;
>> }
>>
>> /*
>> =A0* =A0i2c_attach_adapter - initializes the maxim driver
>> */
>> int ds75_attach_adapter(struct i2c_adapter *adapter)
>> {
>> =A0 =A0 =A0 =A0 /* allocate maxim_data structure */
>> =A0 =A0 =A0 =A0 ds75 =3D kmalloc(sizeof (struct ds75_data), GFP_KERNEL);
>> =A0 =A0 =A0 =A0 if (ds75 =3D=3D NULL)
>> =A0 =A0 =A0 =A0 {
>> =A0 =A0 =A0 =A0 =A0 =A0printk (KERN_ERR "Unable to allocate memory for d=
s75 temp
>> sensor driver\n");
>> =A0 =A0 =A0 =A0 =A0 =A0goto err0;
>> =A0 =A0 =A0 =A0 }
>> =A0 =A0 =A0 =A0 memset(ds75, 0, sizeof(struct ds75_data));
>>
>> =A0 =A0 =A0 =A0 /* Attach Spi Client */
>> =A0 =A0 =A0 =A0 if (ds75_attach_client(ds75, adapter) !=3D 0)
>> =A0 =A0 =A0 =A0 {
>> =A0 =A0 =A0 =A0 =A0 =A0printk (KERN_ERR "No ds75 device detected\n");
>> =A0 =A0 =A0 =A0 =A0 =A0goto err1;
>> =A0 =A0 =A0 =A0 }
>>
>> =A0 =A0 =A0 =A0 return 0;
>>
>> err1:
>> =A0 =A0 =A0 =A0 kfree(ds75);
>> err0:
>> =A0 =A0 =A0 =A0 return -1;
>> }
>>
>> /*
>> =A0* =A0i2c_detach_client - cleans up the maxim driver
>> */
>> int ds75_detach_client(struct i2c_client *client)
>> {
>> =A0 =A0 =A0 =A0 struct ds75_data *ds75 =3D i2c_get_clientdata(client);
>>
>> =A0 =A0 =A0 =A0 if (ds75->owned_irq)
>> =A0 =A0 =A0 =A0 {
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 free_irq(ds75->irq, ds75);
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 ds75->owned_irq =3D 0;
>>
>> =A0 =A0 =A0 =A0 }
>>
>> =A0 =A0 =A0 =A0 i2c_detach_client(&ds75->i2c_client);
>>
>> =A0 =A0 =A0 =A0 kfree (ds75); =A0 =A0 =A0// Free the kernel memory */
>>
>> =A0 =A0 =A0 =A0 return 0;
>> }
>>
>>
>>
>>
>> /*
>> =A0* Temperature sensor DS75 init -
>> =A0*
>> =A0*/
>> int __init ds75_init(void)
>> {
>> =A0 =A0 =A0 =A0 int rc;
>> =A0 =A0 =A0 =A0 rc =3D i2c_add_driver(&ds75_driver);
>> =A0 =A0 =A0 =A0 if (rc)
>> =A0 =A0 =A0 =A0 {
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 printk (KERN_ERR DS75_DRIVER_NAME ": una=
ble to add
>> driver\n");
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 return rc;
>> =A0 =A0 =A0 =A0 }
>>
>> =A0 =A0 =A0 =A0 rc =3D register_chrdev (DS75_DEVICE_MAJOR_NUM, DS75_DRIV=
ER_NAME,
>> &tmpsensor_fops);
>> =A0 =A0 =A0 =A0 if (rc)
>> =A0 =A0 =A0 =A0 {
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 printk (KERN_ERR DS75_DRIVER_NAME ": una=
ble to
>> register char device\n");
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 return rc;
>> =A0 =A0 =A0 =A0 }
>>
>> =A0 =A0 =A0 =A0 return 0;
>> }
>>
>> /**
>> =A0* maxim _exit -
>> =A0*
>> =A0*
>> =A0*/
>> void __exit ds75_exit(void)
>> {
>> =A0 =A0 =A0 =A0 unregister_chrdev (DS75_DEVICE_MAJOR_NUM, DS75_DRIVER_NA=
ME);
>>
>> =A0 =A0 =A0 =A0 i2c_del_driver(&ds75_driver);
>> }
>>
>> MODULE_AUTHOR("xxxx");
>> MODULE_DESCRIPTION("DS75 I2C driver");
>> MODULE_LICENSE("GPL");
>>
>> module_init(ds75_init);
>> module_exit(ds75_exit);
>>
>>
>> Regards,
>> Smitha
>>
>> Please do not print this email unless it is absolutely necessary.
>>
>> The information contained in this electronic message and any
>> attachments to this message are intended for the exclusive use of the
>> addressee(s) and may contain proprietary, confidential or privileged
>> information. If you are not the intended recipient, you should not
>> disseminate, distribute or copy this e-mail. Please notify the sender
>> immediately and destroy all copies of this message and any
>> attachments.
>>
>> WARNING: Computer viruses can be transmitted via email. The recipient
>> should check this email and any attachments for the presence of
>> viruses. The company accepts no liability for any damage caused by any
>> virus transmitted by this email.
>>
>> www.wipro.com
>>
>> _______________________________________________
>> Linuxppc-dev mailing list
>> Linuxppc-dev@lists.ozlabs.org
>> https://lists.ozlabs.org/listinfo/linuxppc-dev
>
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev
>

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Request_irq fails for IRQ2
  2011-08-26 20:08                 ` Scott Wood
  2011-09-22 15:25                   ` I2c driver crash smitha.vanga
@ 2011-10-03 12:31                   ` smitha.vanga
  2011-12-30 12:51                   ` Mac address in the DTS file smitha.vanga
  2 siblings, 0 replies; 30+ messages in thread
From: smitha.vanga @ 2011-10-03 12:31 UTC (permalink / raw)
  To: scottwood; +Cc: linuxppc-dev

[-- Attachment #1: Type: text/plain, Size: 1348 bytes --]


Hi Scott,

 I try to request an IRQ (IRQ2 and IRQ3 which are ineterrupt no 20 and 21 in mpc8247)in my driver . The
Call fails in setup_irq in Manage.c at /kernel/irq.

Setup _irq returns -ENOSYS

if (desc->irq_data.chip == &no_irq_chip)
                 return -ENOSYS;

I just want to know why it fails. Below is the call to request irq in my driver.


#define CPLD1_INTERRUPT  20
if (request_irq(CPLD1_INTERRUPT,cpld_irq_handler, 0, GPIO_CHAR_PATH, NULL))
   {
      printk(KERN_ERR "gpio_init: Could not grab IRQ line for CPLD\n");
          goto err1;
   }

Regards,
Smitha



Please do not print this email unless it is absolutely necessary. 

The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. 

WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. 

www.wipro.com

[-- Attachment #2: Type: text/html, Size: 2609 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Mac address in the DTS file
  2011-08-26 20:08                 ` Scott Wood
  2011-09-22 15:25                   ` I2c driver crash smitha.vanga
  2011-10-03 12:31                   ` Request_irq fails for IRQ2 smitha.vanga
@ 2011-12-30 12:51                   ` smitha.vanga
  2011-12-30 14:00                     ` Lorenz Kolb
                                       ` (2 more replies)
  2 siblings, 3 replies; 30+ messages in thread
From: smitha.vanga @ 2011-12-30 12:51 UTC (permalink / raw)
  To: scottwood; +Cc: linuxppc-dev

 
Hi Scott,

In my DTS file for mpc8247 I have defined the ether MAC in the node as below=
.

ethernet@24000 {
                       #address-cells =3D <1>;
                       #size-cells =3D <0>;
                       device_type =3D "network";
                       device-id =3D <1>;
                       compatible =3D "fs_enet";
                       model =3D "FCC";
                       reg =3D <11300 20 8400 100 11380 30>;
                       mac-address =3D [ 00 e0 ee 00 05 2e ];
                       interrupts =3D <20 2>;
                       interrupt-parent =3D <10c00>;
                       phy-handle =3D <2452000>;
                       rx-clock =3D <13>;
                       tx-clock =3D <12>;
               };


The driver is working and everything is fine. But as I defined the mac-addre=
ss as 00:e0:ee:00:05:2e
Its constant. Am not able to change this mac -address in linux once the targ=
et is up with LINUX.
How do I change the MAC address. If different targets boards are connected o=
n the network then every board will have the same MAC address as  the .dtb f=
ile is the same. How to go about this problem?
It would be a great help if you answer soon.

Regards,
Smitha 


Please do not print this email unless it is absolutely necessary. =0A=
=0A=
The information contained in this electronic message and any attachments to=
 this message are intended for the exclusive use of the addressee(s) and may=
 contain proprietary, confidential or privileged information. If you are not=
 the intended recipient, you should not disseminate, distribute or copy this=
 e-mail. Please notify the sender immediately and destroy all copies of this=
 message and any attachments. =0A=
=0A=
WARNING: Computer viruses can be transmitted via email. The recipient should=
 check this email and any attachments for the presence of viruses. The compa=
ny accepts no liability for any damage caused by any virus transmitted by th=
is email. =0A=
=0A=
www.wipro.com

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Mac address in the DTS file
  2011-12-30 12:51                   ` Mac address in the DTS file smitha.vanga
@ 2011-12-30 14:00                     ` Lorenz Kolb
  2011-12-30 18:28                     ` Wolfgang Denk
  2012-01-02 17:53                     ` Mac address in the DTS file Scott Wood
  2 siblings, 0 replies; 30+ messages in thread
From: Lorenz Kolb @ 2011-12-30 14:00 UTC (permalink / raw)
  To: smitha.vanga; +Cc: scottwood, linuxppc-dev

Hi Smitha,

actually it should work as normal

On 12/30/2011 1:51 PM, smitha.vanga@wipro.com wrote:
> Its constant. Am not able to change this mac -address in linux once the target is up with LINUX.
> How do I change the MAC address.

actually it should work as normal:
ifconfig ethX down
ifconfig ethX hw ether 00:11:22:33:44:55
ifconfig ethX up

>   If different targets boards are connected on the network then every board will have the same MAC address as  the .dtb file is the same. How to go about this problem?

Depends on your setup: normally the real MAC is stored on some onboard 
configuration space (eeprom or flash).
Afterwards there are multiple ways you could work aroun the problem: 
most elegant: make your bootloader replace the fake MAC with the real 
one within the dtb.
Most simple one: have a startup script that reads the real MAC and does 
the ifconfig magic.

Regards,

Lorenz

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Mac address in the DTS file
  2011-12-30 12:51                   ` Mac address in the DTS file smitha.vanga
  2011-12-30 14:00                     ` Lorenz Kolb
@ 2011-12-30 18:28                     ` Wolfgang Denk
  2012-01-09 13:54                       ` Mac address in the DT smitha.vanga
  2012-01-02 17:53                     ` Mac address in the DTS file Scott Wood
  2 siblings, 1 reply; 30+ messages in thread
From: Wolfgang Denk @ 2011-12-30 18:28 UTC (permalink / raw)
  To: smitha.vanga; +Cc: scottwood, linuxppc-dev

Dear smitha.vanga@wipro.com,

In message <40631E9A2581F14BA60888C87A76A1FE01C6BB@HYD-MKD-MBX4.wipro.com> you wrote:
>  
> In my DTS file for mpc8247 I have defined the ether MAC in the node as below.

On a MPC82xx there is a chance that you are using U-Boot as boot
loader...

> How do I change the MAC address. If different targets boards are

U-Boot can store (it the environment variables) MAC addresses and
update the DT with this information.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
"Beware of bugs in the above code; I have only proved it correct, not
tried it."                                             - Donald Knuth

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Mac address in the DTS file
  2011-12-30 12:51                   ` Mac address in the DTS file smitha.vanga
  2011-12-30 14:00                     ` Lorenz Kolb
  2011-12-30 18:28                     ` Wolfgang Denk
@ 2012-01-02 17:53                     ` Scott Wood
  2012-01-24  7:35                       ` NTP server sync issue smitha.vanga
  2 siblings, 1 reply; 30+ messages in thread
From: Scott Wood @ 2012-01-02 17:53 UTC (permalink / raw)
  To: smitha.vanga; +Cc: linuxppc-dev

On 12/30/2011 06:51 AM, smitha.vanga@wipro.com wrote:
>  
> Hi Scott,
> 
> In my DTS file for mpc8247 I have defined the ether MAC in the node as below.
> 
> ethernet@24000 {
>                        #address-cells = <1>;
>                        #size-cells = <0>;
>                        device_type = "network";
>                        device-id = <1>;
>                        compatible = "fs_enet";
>                        model = "FCC";
>                        reg = <11300 20 8400 100 11380 30>;
>                        mac-address = [ 00 e0 ee 00 05 2e ];
>                        interrupts = <20 2>;
>                        interrupt-parent = <10c00>;
>                        phy-handle = <2452000>;
>                        rx-clock = <13>;
>                        tx-clock = <12>;
>                };

Others have answered your question (the mac address should not be in the
.dts file -- it should be patched in by boot software), but I'd like to
point out that this is a deprecated device tree binding that was very
short-lived in a very old kernel, from an early attempt at 82xx support
in arch/powerpc.  Why are you still using it?  It will not work with
current kernels (which suggests you're also using a very old kernel).

-Scott

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Mac address in the DT
  2011-12-30 18:28                     ` Wolfgang Denk
@ 2012-01-09 13:54                       ` smitha.vanga
  2012-01-09 14:20                         ` Joakim Tjernlund
  0 siblings, 1 reply; 30+ messages in thread
From: smitha.vanga @ 2012-01-09 13:54 UTC (permalink / raw)
  To: wd; +Cc: scottwood, linuxppc-dev

 
Hi Wolfgang,

I need to automate a sequence of commands. To do that I am setting a environ=
ment variable with the sequence of commands.
And using run command run the environment variable.

But one of the command uses " in the command. So how do I save the command w=
ith quotes.

Below is the command which I want to set in the environment variable.

setenv set_mac ""cp 0xffec0000 0x100000 1024;fdt addr 0x100000 8192;fdt set=
 /soc8272@f0000000/ethernet@24000 mac-address "[00 22 00 33 00 55]""

But when I saveenv the command doesnot get save as fdt set /soc8272@f0000000=
/ethernet@24000 mac-address "[00 22 00 33 00 55]"

Thanks & Regards,
Smitha


Please do not print this email unless it is absolutely necessary. =0A=
=0A=
The information contained in this electronic message and any attachments to=
 this message are intended for the exclusive use of the addressee(s) and may=
 contain proprietary, confidential or privileged information. If you are not=
 the intended recipient, you should not disseminate, distribute or copy this=
 e-mail. Please notify the sender immediately and destroy all copies of this=
 message and any attachments. =0A=
=0A=
WARNING: Computer viruses can be transmitted via email. The recipient should=
 check this email and any attachments for the presence of viruses. The compa=
ny accepts no liability for any damage caused by any virus transmitted by th=
is email. =0A=
=0A=
www.wipro.com

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Mac address in the DT
  2012-01-09 13:54                       ` Mac address in the DT smitha.vanga
@ 2012-01-09 14:20                         ` Joakim Tjernlund
  2012-01-09 14:28                           ` smitha.vanga
  0 siblings, 1 reply; 30+ messages in thread
From: Joakim Tjernlund @ 2012-01-09 14:20 UTC (permalink / raw)
  To: smitha.vanga; +Cc: scottwood, linuxppc-dev, wd

>
> Hi Wolfgang,
>
> I need to automate a sequence of commands. To do that I am setting a environment variable with the sequence of commands.
> And using run command run the environment variable.
>
> But one of the command uses " in the command. So how do I save the command with quotes.
>
> Below is the command which I want to set in the environment variable.
>
> setenv set_mac ""cp 0xffec0000 0x100000 1024;fdt addr 0x100000 8192;fdt set /soc8272@f0000000/ethernet@24000 mac-address "[00 22 00 33 00 55]""
>
> But when I saveenv the command doesnot get save as fdt set /soc8272@f0000000/ethernet@24000 mac-address "[00 22 00 33 00 55]"
>
> Thanks & Regards,
> Smitha

Have you tried ...\"[00 22 00 33 00 55]\"" ?

 Jocke

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: Mac address in the DT
  2012-01-09 14:20                         ` Joakim Tjernlund
@ 2012-01-09 14:28                           ` smitha.vanga
  2012-01-09 14:59                             ` Joakim Tjernlund
  2012-01-09 22:40                             ` Wolfgang Denk
  0 siblings, 2 replies; 30+ messages in thread
From: smitha.vanga @ 2012-01-09 14:28 UTC (permalink / raw)
  To: joakim.tjernlund; +Cc: scottwood, linuxppc-dev, wd

 
Hi Joakim,

I have tried it but it doesn't work.

Just now found that with single ' quotes the entire sequence it works.
>Setenv set_mac 'cp 0xffec0000 0x100000 1024;fdt addr 0xc00000 8192;fdt set=
 /soc8272@f0000000/ethernet@24000 mac-address "[00 44 00 55 00 66]";erase 0x=
ffec0000 0xffec4000;cp 0xc00000 0xffec0000 1024;bootm 0xfe060000 - 0xffec000=
0'

> run set_mac

For the above command I want to replace the mac address with the ethaddr> Ho=
w do I do that. I tried $ethaddr but I get extra : characters.

>Setenv set_mac 'cp 0xffec0000 0x100000 1024;fdt addr 0xc00000 8192;fdt set=
 /soc8272@f0000000/ethernet@24000 mac-address $ethaddr;erase 0xffec0000 0xff=
ec4000;cp 0xc00000 0xffec0000 1024;bootm 0xfe060000 - 0xffec0000'

Regards,
Smitha
Please do not print this email unless it is absolutely necessary. =0A=
=0A=
The information contained in this electronic message and any attachments to=
 this message are intended for the exclusive use of the addressee(s) and may=
 contain proprietary, confidential or privileged information. If you are not=
 the intended recipient, you should not disseminate, distribute or copy this=
 e-mail. Please notify the sender immediately and destroy all copies of this=
 message and any attachments. =0A=
=0A=
WARNING: Computer viruses can be transmitted via email. The recipient should=
 check this email and any attachments for the presence of viruses. The compa=
ny accepts no liability for any damage caused by any virus transmitted by th=
is email. =0A=
=0A=
www.wipro.com

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: Mac address in the DT
  2012-01-09 14:28                           ` smitha.vanga
@ 2012-01-09 14:59                             ` Joakim Tjernlund
  2012-01-09 22:40                             ` Wolfgang Denk
  1 sibling, 0 replies; 30+ messages in thread
From: Joakim Tjernlund @ 2012-01-09 14:59 UTC (permalink / raw)
  To: smitha.vanga; +Cc: scottwood, linuxppc-dev, wd

<smitha.vanga@wipro.com> wrote on 2012/01/09 15:28:54:
>
>
> Hi Joakim,
>
> I have tried it but it doesn't work.
>
> Just now found that with single ' quotes the entire sequence it works.
> >Setenv set_mac 'cp 0xffec0000 0x100000 1024;fdt addr 0xc00000 8192;fdt set /soc8272@f0000000/ethernet@24000 mac-address "[00 44 00 55 00 66]";erase 0xffec0000 0xffec4000;cp 0xc00000 0xffec0000 1024;bootm 0xfe060000 - 0xffec0000'
>
> > run set_mac
>
> For the above command I want to replace the mac address with the ethaddr> How do I do that. I tried $ethaddr but I get extra : characters.
>
> >Setenv set_mac 'cp 0xffec0000 0x100000 1024;fdt addr 0xc00000 8192;fdt set /soc8272@f0000000/ethernet@24000 mac-address $ethaddr;erase 0xffec0000 0xffec4000;cp 0xc00000 0xffec0000 1024;bootm 0xfe060000 - 0xffec0000'

Of course you do, ethaddr has a different syntax and contains :

Anyway you should not have to set mac address manually like you do, u-boot will do it for you if you
have configured u-boot correctly and have a proper dtb tree. Check the u-boot code and the many dts files in linux
under arch/powerpc/boot/dts

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Mac address in the DT
  2012-01-09 14:28                           ` smitha.vanga
  2012-01-09 14:59                             ` Joakim Tjernlund
@ 2012-01-09 22:40                             ` Wolfgang Denk
  2012-01-10  9:37                               ` smitha.vanga
  1 sibling, 1 reply; 30+ messages in thread
From: Wolfgang Denk @ 2012-01-09 22:40 UTC (permalink / raw)
  To: smitha.vanga; +Cc: scottwood, linuxppc-dev

Dear smitha.vanga@wipro.com,

In message <40631E9A2581F14BA60888C87A76A1FE01D360@HYD-MKD-MBX4.wipro.com> you wrote:
>  
> >Setenv set_mac 'cp 0xffec0000 0x100000 1024;fdt addr 0xc00000 8192;fdt set=
>  /soc8272@f0000000/ethernet@24000 mac-address "[00 44 00 55 00 66]";erase 0x=
> ffec0000 0xffec4000;cp 0xc00000 0xffec0000 1024;bootm 0xfe060000 - 0xffec000=
> 0'
> 
> > run set_mac
> 
> For the above command I want to replace the mac address with the ethaddr> How
> do I do that. I tried $ethaddr but I get extra : characters.

Why would you do that at all?  U-Boot will run fdt_fixup_ethernet()
for all (at least AFAICT) supported architectures, which will replace 
"mac-address" and "local-mac-address" for all "ethernet?" interfaces
in the device tree for which a corresponding "ethadd" / "eth?addr"
environment variable is set.

No additional actions are needed.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
"One day," said a dull voice from down below, "I'm going to  be  back
in  form again and you're going to be very sorry you said that. For a
very long time. I might even go so far as to make even more Time just
for you to be sorry in."              - Terry Pratchett, _Small Gods_

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Mac address in the DT
  2012-01-09 22:40                             ` Wolfgang Denk
@ 2012-01-10  9:37                               ` smitha.vanga
  2012-01-10  9:47                                 ` Joakim Tjernlund
  2012-01-10 21:55                                 ` Wolfgang Denk
  0 siblings, 2 replies; 30+ messages in thread
From: smitha.vanga @ 2012-01-10  9:37 UTC (permalink / raw)
  To: wd; +Cc: scottwood, linuxppc-dev

 
Hi,

The fdt_fixup_ethernet() is not supported in the older version of u-boot. So=
 how to go about it in u-boot 1.3.0 version.

Regards,
Smitha
Please do not print this email unless it is absolutely necessary. =0A=
=0A=
The information contained in this electronic message and any attachments to=
 this message are intended for the exclusive use of the addressee(s) and may=
 contain proprietary, confidential or privileged information. If you are not=
 the intended recipient, you should not disseminate, distribute or copy this=
 e-mail. Please notify the sender immediately and destroy all copies of this=
 message and any attachments. =0A=
=0A=
WARNING: Computer viruses can be transmitted via email. The recipient should=
 check this email and any attachments for the presence of viruses. The compa=
ny accepts no liability for any damage caused by any virus transmitted by th=
is email. =0A=
=0A=
www.wipro.com

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Mac address in the DT
  2012-01-10  9:37                               ` smitha.vanga
@ 2012-01-10  9:47                                 ` Joakim Tjernlund
  2012-01-10 21:55                                 ` Wolfgang Denk
  1 sibling, 0 replies; 30+ messages in thread
From: Joakim Tjernlund @ 2012-01-10  9:47 UTC (permalink / raw)
  To: smitha.vanga; +Cc: scottwood, linuxppc-dev, wd

<smitha.vanga@wipro.com> wrote on 2012/01/10 10:37:14:
>
>
> Hi,
>
> The fdt_fixup_ethernet() is not supported in the older version of u-boot. So how to go about it in u-boot 1.3.0 version.

Upgrade or find out how its done in your older version, I have no idea.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Mac address in the DT
  2012-01-10  9:37                               ` smitha.vanga
  2012-01-10  9:47                                 ` Joakim Tjernlund
@ 2012-01-10 21:55                                 ` Wolfgang Denk
  2012-01-11  6:03                                   ` smitha.vanga
  2012-02-06 14:25                                   ` Erase flash boot from default env smitha.vanga
  1 sibling, 2 replies; 30+ messages in thread
From: Wolfgang Denk @ 2012-01-10 21:55 UTC (permalink / raw)
  To: smitha.vanga; +Cc: scottwood, linuxppc-dev

Dear smitha.vanga@wipro.com,

In message <40631E9A2581F14BA60888C87A76A1FE01D3F2@HYD-MKD-MBX4.wipro.com> you wrote:
>  
> The fdt_fixup_ethernet() is not supported in the older version of u-boot. So
>  how to go about it in u-boot 1.3.0 version.

U-Boot v1.3.0 is more than 4 years old.

Update, or restrict yourself to using 4 years old Linux kernel
versions as well, like v2.6.23 or so :-(

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
Everyting looks interesting until you do it. Then you find it's  just
another job.                     - Terry Pratchett, _Moving Pictures_

^ permalink raw reply	[flat|nested] 30+ messages in thread

* RE: Mac address in the DT
  2012-01-10 21:55                                 ` Wolfgang Denk
@ 2012-01-11  6:03                                   ` smitha.vanga
  2012-02-06 14:25                                   ` Erase flash boot from default env smitha.vanga
  1 sibling, 0 replies; 30+ messages in thread
From: smitha.vanga @ 2012-01-11  6:03 UTC (permalink / raw)
  To: wd; +Cc: scottwood, linuxppc-dev

 

Hi,

I am using 2.6.21 linux kernel with this bootloader.
The ethernet driver in the kernel reads the mac address from the .dtb file.

Regards,
Smitha
Please do not print this email unless it is absolutely necessary. =0A=
=0A=
The information contained in this electronic message and any attachments to=
 this message are intended for the exclusive use of the addressee(s) and may=
 contain proprietary, confidential or privileged information. If you are not=
 the intended recipient, you should not disseminate, distribute or copy this=
 e-mail. Please notify the sender immediately and destroy all copies of this=
 message and any attachments. =0A=
=0A=
WARNING: Computer viruses can be transmitted via email. The recipient should=
 check this email and any attachments for the presence of viruses. The compa=
ny accepts no liability for any damage caused by any virus transmitted by th=
is email. =0A=
=0A=
www.wipro.com

^ permalink raw reply	[flat|nested] 30+ messages in thread

* NTP server sync issue
  2012-01-02 17:53                     ` Mac address in the DTS file Scott Wood
@ 2012-01-24  7:35                       ` smitha.vanga
  0 siblings, 0 replies; 30+ messages in thread
From: smitha.vanga @ 2012-01-24  7:35 UTC (permalink / raw)
  To: scottwood; +Cc: linuxppc-dev

 
Hi ,


On my target the date time in linux is not getting updated as per
The NTP server date. The update of date  and sync between NTP server and NTP=
 client on the target happens 
Correctly when the NTP server is made up and then the ntp client is made up.
If I make the NTP server down and then make the NTP client up , then again m=
ake the NTP server up the sync between NTP server
And NTP client on my target fails. The date does not get updated. Could you=
 please look the below logs and suggest.
I see that in the not working condition the time reset gets negative value.

WORKING

# tail /var/log/messages
Jan 23 14:10:06 (none) daemon.notice ntpd[942]: time reset +412128001.43
5663 s
Jan 23 14:10:06 (none) daemon.notice ntpd[942]: kernel time sync disable
d 0041

#date // cmd on linux shell
Mon Jan 23 14:10:06 UTC 2012


NON WORKING 


# tail /var/log/messages
Jan 5 11:11:06 (none) daemon.notice ntpd[950]: time reset -844571647.34
3679 s
Jan 5 11:11:06 (none) daemon.notice ntpd[950]: kernel time sync disable
d 0041

#date // cmd on linux shell
Wed Jan 5 11:12:35 UTC 1943  


Regards,
Smitha
Please do not print this email unless it is absolutely necessary. =0A=
=0A=
The information contained in this electronic message and any attachments to=
 this message are intended for the exclusive use of the addressee(s) and may=
 contain proprietary, confidential or privileged information. If you are not=
 the intended recipient, you should not disseminate, distribute or copy this=
 e-mail. Please notify the sender immediately and destroy all copies of this=
 message and any attachments. =0A=
=0A=
WARNING: Computer viruses can be transmitted via email. The recipient should=
 check this email and any attachments for the presence of viruses. The compa=
ny accepts no liability for any damage caused by any virus transmitted by th=
is email. =0A=
=0A=
www.wipro.com

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Erase flash boot from default env
  2012-01-10 21:55                                 ` Wolfgang Denk
  2012-01-11  6:03                                   ` smitha.vanga
@ 2012-02-06 14:25                                   ` smitha.vanga
  1 sibling, 0 replies; 30+ messages in thread
From: smitha.vanga @ 2012-02-06 14:25 UTC (permalink / raw)
  To: wd; +Cc: scottwood, linuxppc-dev

 
Hi ,

When I run flinfo in bootloader I get  some locatios indicated with RO meani=
ng read only.
Can I erase these locations. Actually I tried to erase and could not erase e=
ven when I set protect off for this address
Range in the environment parameters.

I want to get the bootloader to boot with the default enironment parameters.=
 Insetad of the saved environment params. How to go about this.

Regards,
Smitha
Please do not print this email unless it is absolutely necessary. =0A=
=0A=
The information contained in this electronic message and any attachments to=
 this message are intended for the exclusive use of the addressee(s) and may=
 contain proprietary, confidential or privileged information. If you are not=
 the intended recipient, you should not disseminate, distribute or copy this=
 e-mail. Please notify the sender immediately and destroy all copies of this=
 message and any attachments. =0A=
=0A=
WARNING: Computer viruses can be transmitted via email. The recipient should=
 check this email and any attachments for the presence of viruses. The compa=
ny accepts no liability for any damage caused by any virus transmitted by th=
is email. =0A=
=0A=
www.wipro.com

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2012-02-06 14:26 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-05  5:31 FW: Ethernet driver WR linux smitha.vanga
2011-08-05 18:12 ` Scott Wood
2011-08-08  5:53   ` smitha.vanga
2011-08-08 20:54     ` Scott Wood
2011-08-09  5:46       ` smitha.vanga
2011-08-09 17:56         ` Scott Wood
2011-08-25  7:57           ` Kernel boot up smitha.vanga
2011-08-25 11:11             ` Gary Thomas
2011-08-25 19:31             ` Scott Wood
2011-08-26  6:00               ` smitha.vanga
2011-08-26 20:08                 ` Scott Wood
2011-09-22 15:25                   ` I2c driver crash smitha.vanga
2011-09-23  1:28                     ` Benjamin Herrenschmidt
2011-09-23  6:05                       ` MohanReddy koppula
2011-10-03 12:31                   ` Request_irq fails for IRQ2 smitha.vanga
2011-12-30 12:51                   ` Mac address in the DTS file smitha.vanga
2011-12-30 14:00                     ` Lorenz Kolb
2011-12-30 18:28                     ` Wolfgang Denk
2012-01-09 13:54                       ` Mac address in the DT smitha.vanga
2012-01-09 14:20                         ` Joakim Tjernlund
2012-01-09 14:28                           ` smitha.vanga
2012-01-09 14:59                             ` Joakim Tjernlund
2012-01-09 22:40                             ` Wolfgang Denk
2012-01-10  9:37                               ` smitha.vanga
2012-01-10  9:47                                 ` Joakim Tjernlund
2012-01-10 21:55                                 ` Wolfgang Denk
2012-01-11  6:03                                   ` smitha.vanga
2012-02-06 14:25                                   ` Erase flash boot from default env smitha.vanga
2012-01-02 17:53                     ` Mac address in the DTS file Scott Wood
2012-01-24  7:35                       ` NTP server sync issue smitha.vanga

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.