FAQ: [#6270] Problem with portmuxgroup_check()(2010)

Document created by Aaronwu Employee on Sep 11, 2013
Version 1Show Document
  • View in full screen mode

[#6270] Problem with portmuxgroup_check()

Submitted By: Jay Ku

Open Date

2010-09-21 03:33:05    

Priority:

Medium     Assignee:

steven miao

Status:

Open     Fixed In Release:

N/A

Found In Release:

2010R1     Release:

9821M

Category:

N/A     Board:

Custom

Processor:

BF537     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

Fixed

Uboot version or rev.:

    Toolchain version or rev.:

4927

App binary format:

N/A     

Summary: Problem with portmuxgroup_check()

Details:

 

portmuxgroup_check() is reporting incorrect conflict when configuring the RMII interface on a BF537.  See detail below.  Interface configures and works fine if I skip portmuxgroup_check().

 

 

I'm having some trouble configuring the MAC on my BF537 board.  I'm using SVN ver 9821.  When I boot the kernel I get:

 

.

.

bfin-uart: Blackfin serial driver

bfin-uart.0: ttyBF0 at MMIO 0xffc00400 (irq = 18) is a BFIN-UART

brd: module loaded

pin grounp conflict! request pin 37 func 1 conflict with pin 32 func 0

bfin_mii_bus bfin_mii_bus.0: Requesting peripherals failed!

bfin_mii_bus: probe of bfin_mii_bus.0 failed with error -16

bfin_mac bfin_mac.0: Cannot get mii_bus!

rtc-bfin rtc-bfin: rtc core: registered rtc-bfin as rtc0

bfin-wdt: initialized: timeout=20 sec (nowayout=0)

TCP cubic registered

.

.

 

The kernel continues to boot and otherwise runs ok.

 

I've got pretty much everything disabled in my config.  Here's an excerpt from my board config - basically copied this out of the pnav10.c config file, which apparently also uses RMII:

 

 

#if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE)

#include <linux/bfin_mac.h>

static const unsigned short bfin_mac_peripherals[] = P_RMII0;

 

static struct bfin_phydev_platform_data bfin_phydev_data[] = {

    {

        .addr = 1,

        .irq = IRQ_MAC_PHYINT,

        // .irq = PHY_POLL, /* IRQ_MAC_PHYINT */

    },

};

 

static struct bfin_mii_bus_platform_data bfin_mii_bus_data = {

    .phydev_number = 1,

    .phydev_data = bfin_phydev_data,

    .phy_mode = PHY_INTERFACE_MODE_RMII,

    .mac_peripherals = bfin_mac_peripherals,

};

 

static struct platform_device bfin_mii_bus = {

    .name = "bfin_mii_bus",

    .dev = {

        .platform_data = &bfin_mii_bus_data,

    }

};

 

static struct platform_device bfin_mac_device = {

    .name = "bfin_mac",

    .dev = {

        .platform_data = &bfin_mii_bus,

    }

};

#endif

 

Follow-ups

 

--- steven miao                                              2010-09-25 22:08:46

bypass the mux group check for those pins has only one function

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes