Well, we made our own rs485 cap, and it also power the lcd7 and the beagle ( we took example of the lcd7). But I don't why it will make problem... Le 7 juil. 2014 10:49, "Micka" <mickamus...@gmail.com> a écrit :
> Well, we made our own rs485 cap, and it also power the cap ( we took > example of the lcd7). But I don't why it will make problem.... > Le 7 juil. 2014 10:41, "William Hermans" <yyrk...@gmail.com> a écrit : > >> *Hello,* >>> >>> *I'm on the Kernel 3.8.13-bone56 and I've still this problem :* >>> >>> *Scanning for Btrfs filesystems* >>> *systemd-fsck[202]: rootfs: clean, 110431/966656 files, 771069/3864576 >>> blocks* >>> *[ 7.665617] libphy: PHY 4a101000.mdio:00 not found* >>> *[ 7.670642] net eth0: phy 4a101000.mdio:00 not found on slave 0* >>> *[ 7.676834] libphy: PHY 4a101000.mdio:01 not found* >>> *[ 7.681844] net eth0: phy 4a101000.mdio:01 not found on slave 1* >>> >>> >>> *I've to reboot many times to get lucky .....* >> >> Hello Micka, >> >> This almost sounds like a power issue. How are you powering your board, >> and what other peripherals are you using ? >> >> >> On Mon, Jul 7, 2014 at 12:56 AM, Micka <mickamus...@gmail.com> wrote: >> >>> I would like to know what this means ? Is it a electrical problems ? Can >>> we monitor this ? >>> >>> >>> On Mon, Jul 7, 2014 at 9:52 AM, Micka <mickamus...@gmail.com> wrote: >>> >>>> Hello, >>>> >>>> I'm on the Kernel *3.8.13-bone56* and I've still this problem : >>>> >>>> Scanning for Btrfs filesystems >>>> systemd-fsck[202]: rootfs: clean, 110431/966656 files, 771069/3864576 >>>> blocks >>>> [ 7.665617] libphy: PHY 4a101000.mdio:00 not found >>>> [ 7.670642] net eth0: phy 4a101000.mdio:00 not found on slave 0 >>>> [ 7.676834] libphy: PHY 4a101000.mdio:01 not found >>>> [ 7.681844] net eth0: phy 4a101000.mdio:01 not found on slave 1 >>>> >>>> >>>> I've to reboot many times to get lucky ..... >>>> >>>> >>>> >>>> >>>> On Sat, Jul 5, 2014 at 8:19 PM, John Syn <john3...@gmail.com> wrote: >>>> >>>>> This is a known problem with V3.15 and NFS. We are working on finding >>>>> a solution. First, you must build the SMSC driver into the kernel. >>>>> Currently it is built as a kernel module which won’t work because you have >>>>> to mount the rootfs to load the kernel module. That will eliminate the >>>>> first issue: >>>>> >>>>> *3.758612] davinci_mdio 4a101000.mdio: phy[0]: device >>>>> 4a101000.mdio:00, driver unknown* >>>>> >>>>> Next we are trying to find out why the network isn’t getting started. >>>>> Looks like something to do with cpsw. Using the same MLO, u-boot, >>>>> uEnv.txt >>>>> and rootfs, V3.8.13-bone57 works just fine. Changing the kernel to >>>>> V3.15.3-bone3, I get the same problem you have. >>>>> >>>>> Regards, >>>>> >>>>> John >>>>> >>>>> From: Vishnu Patekar <vishnupatekar0...@gmail.com> >>>>> Reply-To: "beagleboard@googlegroups.com" <beagleboard@googlegroups.com >>>>> > >>>>> Date: Saturday, July 5, 2014 at 11:01 AM >>>>> To: "beagleboard@googlegroups.com" <beagleboard@googlegroups.com> >>>>> Subject: Re: [beagleboard] Re: Beaglebone Black Ethernet Phy Not >>>>> Detected on Boot. >>>>> >>>>> Hello, >>>>> I'm using BBB board A5C, and kernel version 3.15.3-bone3.1. I also >>>>> see ethernet PHY is not detected. Log as below: >>>>> Please refer detailed attached log. >>>>> >>>>> >>>>> *[ 3.740457] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6* >>>>> *[ 3.746859] davinci_mdio 4a101000.mdio: detected phy mask fffffffe* >>>>> *[ 3.754398] libphy: 4a101000.mdio: probed* >>>>> *[ 3.758612] davinci_mdio 4a101000.mdio: phy[0]: device >>>>> 4a101000.mdio:00, driver unknown* >>>>> *[ 3.767567] Detected MACID = 90:59:af:5c:61:78* >>>>> *[ 3.773165] drivers/rtc/hctosys.c: unable to open rtc device >>>>> (rtc0)* >>>>> *[ 3.779741] sr_init: No PMIC hook to init smartreflex* >>>>> *[ 3.785201] sr_init: platform driver register failed for SR* >>>>> *[ 3.794297] VFS: Cannot open root device "nfs" or >>>>> unknown-block(0,255): error -6* >>>>> *[ 3.802114] Please append a correct "root=" boot option; here are >>>>> the available partitions:* >>>>> *[ 3.810888] b300 1875968 mmcblk0 driver: mmcblk* >>>>> *[ 3.816464] b301 72261 mmcblk0p1 00000000-01* >>>>> *[ 3.822046] b302 1799280 mmcblk0p2 00000000-02* >>>>> *[ 3.827617] b310 1024 mmcblk0boot1 (driver?)* >>>>> *[ 3.833197] b308 1024 mmcblk0boot0 (driver?)* >>>>> *[ 3.838767] Kernel panic - not syncing: VFS: Unable to mount root >>>>> fs on unknown-block(0,255)* >>>>> *[ 3.847616] CPU: 0 PID: 1 Comm: swapper Not tainted 3.15.3-bone3.1 >>>>> #1* >>>>> *[ 3.854410] [<c00113f5>] (unwind_backtrace) from [<c000fa37>] >>>>> (show_stack+0xb/0xc)* >>>>> *[ 3.862356] [<c000fa37>] (show_stack) from [<c054dd05>] >>>>> (panic+0x65/0x170)* >>>>> *[ 3.869572] [<c054dd05>] (panic) from [<c08a6d0b>] >>>>> (mount_block_root+0x1af/0x21c)* >>>>> *[ 3.877421] [<c08a6d0b>] (mount_block_root) from [<c08a6eb1>] >>>>> (prepare_namespace+0xe9/0x128)* >>>>> *[ 3.886271] [<c08a6eb1>] (prepare_namespace) from [<c08a6a93>] >>>>> (kernel_init_freeable+0x1ab/0x1b8)* >>>>> *[ 3.895574] [<c08a6a93>] (kernel_init_freeable) from [<c054d37b>] >>>>> (kernel_init+0xb/0xb4)* >>>>> *[ 3.904060] [<c054d37b>] (kernel_init) from [<c000d1f9>] >>>>> (ret_from_fork+0x11/0x38)* >>>>> *[ 3.911998] drm_kms_helper: panic occurred, switching back to text >>>>> console* >>>>> *[ 3.919217] ---[ end Kernel panic - not syncing: VFS: Unable to >>>>> mount root fs on unknown-block(0,255)* >>>>> >>>>> >>>>> >>>>> On Sat, Jun 28, 2014 at 2:22 AM, Jay @ Control Module Industries < >>>>> cmidr...@gmail.com> wrote: >>>>> >>>>>> I have encountered the same issue(s) on A6A boards. >>>>>> >>>>>> I couldn't find a patch, so I wrote this patch to update the device >>>>>> tree in the davinci_mdio driver in the 3.15.1 tree, it seems to correct >>>>>> it. >>>>>> I would welcome any input on a different approach. >>>>>> >>>>>> diff --git a/drivers/net/ethernet/ti/davinci_mdio.c >>>>>> b/drivers/net/ethernet/ti/davinci_mdio.c >>>>>> index 0cca9de..e5a9cdc 100644 >>>>>> --- a/drivers/net/ethernet/ti/davinci_mdio.c >>>>>> +++ b/drivers/net/ethernet/ti/davinci_mdio.c >>>>>> @@ -39,6 +39,7 @@ >>>>>> #include <linux/of.h> >>>>>> #include <linux/of_device.h> >>>>>> #include <linux/pinctrl/consumer.h> >>>>>> +#include <linux/phy.h> >>>>>> >>>>>> /* >>>>>> * This timeout definition is a worst-case ultra defensive measure >>>>>> against >>>>>> @@ -97,6 +98,10 @@ struct davinci_mdio_data { >>>>>> unsigned long access_time; /* jiffies */ >>>>>> }; >>>>>> >>>>>> +#if IS_ENABLED(CONFIG_OF) >>>>>> +static void davinci_mdio_update_dt_from_phymask(u32 phy_mask); >>>>>> +#endif >>>>>> + >>>>>> static void __davinci_mdio_reset(struct davinci_mdio_data *data) >>>>>> { >>>>>> u32 mdio_in, div, mdio_out_khz, access_time; >>>>>> @@ -150,6 +155,11 @@ static int davinci_mdio_reset(struct mii_bus >>>>>> *bus) >>>>>> /* restrict mdio bus to live phys only */ >>>>>> dev_info(data->dev, "detected phy mask %x\n", ~phy_mask); >>>>>> phy_mask = ~phy_mask; >>>>>> + >>>>>> + #if IS_ENABLED(CONFIG_OF) >>>>>> + davinci_mdio_update_dt_from_phymask(phy_mask); >>>>>> + #endif >>>>>> + >>>>>> } else { >>>>>> /* desperately scan all phys */ >>>>>> dev_warn(data->dev, "no live phy, scanning all\n"); >>>>>> @@ -312,6 +322,79 @@ static int davinci_mdio_probe_dt(struct >>>>>> mdio_platform_data *data, >>>>>> } >>>>>> #endif >>>>>> >>>>>> +#if IS_ENABLED(CONFIG_OF) >>>>>> +static void davinci_mdio_update_dt_from_phymask(u32 phy_mask) >>>>>> +{ >>>>>> + int i, len; >>>>>> + u32 addr; >>>>>> + __be32 *old_phy_p, *phy_id_p; >>>>>> + struct property *phy_id_property = NULL; >>>>>> + struct device_node *node_p, *slave_p; >>>>>> + >>>>>> + addr = 0; >>>>>> + >>>>>> + for (i = 0; i < PHY_MAX_ADDR; i++) { >>>>>> + if ((phy_mask & (1 << i)) == 0) { >>>>>> + addr = (u32) i; >>>>>> + break; >>>>>> + } >>>>>> + } >>>>>> + >>>>>> + for_each_compatible_node(node_p, NULL, "ti,cpsw") { >>>>>> + for_each_node_by_name(slave_p, "slave") { >>>>>> + >>>>>> + old_phy_p = (__be32 *) of_get_property(slave_p, >>>>>> "phy_id", &len); >>>>>> + >>>>>> + if (len != (sizeof(__be32 *) * 2)) >>>>>> + goto err_out; >>>>>> + >>>>>> + if (old_phy_p) { >>>>>> + >>>>>> + phy_id_property = kzalloc(sizeof(*phy_id_property), >>>>>> GFP_KERNEL); >>>>>> + >>>>>> + if (! phy_id_property) >>>>>> + goto err_out; >>>>>> + >>>>>> + phy_id_property->length = len; >>>>>> + phy_id_property->name = kstrdup("phy_id", >>>>>> GFP_KERNEL); >>>>>> + phy_id_property->value = kzalloc(len, GFP_KERNEL); >>>>>> + >>>>>> + if (! phy_id_property->name) >>>>>> + goto err_out; >>>>>> + >>>>>> + if (! phy_id_property->value) >>>>>> + goto err_out; >>>>>> + >>>>>> + memcpy(phy_id_property->value, old_phy_p, len); >>>>>> + >>>>>> + phy_id_p = (__be32 *) phy_id_property->value + 1; >>>>>> + >>>>>> + *phy_id_p = cpu_to_be32(addr); >>>>>> + >>>>>> + of_update_property(slave_p, phy_id_property); >>>>>> + >>>>>> + ++addr; >>>>>> + } >>>>>> + } >>>>>> + } >>>>>> + >>>>>> + return; >>>>>> + >>>>>> +err_out: >>>>>> + >>>>>> + if (phy_id_property) { >>>>>> + if (phy_id_property->name) >>>>>> + kfree(phy_id_property->name); >>>>>> + >>>>>> + if (phy_id_property->value) >>>>>> + kfree(phy_id_property->value); >>>>>> + >>>>>> + if (phy_id_property) >>>>>> + kfree(phy_id_property); >>>>>> + } >>>>>> +} >>>>>> +#endif >>>>>> + >>>>>> static int davinci_mdio_probe(struct platform_device *pdev) >>>>>> { >>>>>> struct mdio_platform_data *pdata = dev_get_platdata(&pdev->dev); >>>>>> >>>>>> -- >>>>>> For more options, visit http://beagleboard.org/discuss >>>>>> --- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "BeagleBoard" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to beagleboard+unsubscr...@googlegroups.com. >>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>> >>>>> >>>>> -- >>>>> For more options, visit http://beagleboard.org/discuss >>>>> --- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "BeagleBoard" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to beagleboard+unsubscr...@googlegroups.com. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>>> -- >>>>> For more options, visit http://beagleboard.org/discuss >>>>> --- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "BeagleBoard" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to beagleboard+unsubscr...@googlegroups.com. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> >>> -- >>> For more options, visit http://beagleboard.org/discuss >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "BeagleBoard" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to beagleboard+unsubscr...@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- >> For more options, visit http://beagleboard.org/discuss >> --- >> You received this message because you are subscribed to the Google Groups >> "BeagleBoard" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to beagleboard+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.