Re: Ethernet direct RMII connection
So, Niklas tested it and submitted a PR to mainline: https://github.com/apache/nuttx/pull/12538 Next step is testing this idea on ESP32 as well! BR, Alan On Fri, Mar 1, 2024 at 12:29 PM Roland wrote: > David, > > Thanks for the advice, I will check the manual. > > /Roland > > > On Mar 1, 2024, at 11:12 PM, David Sidrane > wrote: > > > > Rolan, > > > > Have a look in the imx8 manual you may be able to source the clock from > that > > MAC. > > > > David > > > > > > -Original Message- > > From: Roland > > Sent: Friday, March 1, 2024 9:55 AM > > To: dev@nuttx.apache.org > > Subject: Re: Ethernet direct RMII connection > > > > Hi Alan, > > > > Thanks for this reminder. > > > > I am using RMII, as STM32F7 can only support up to 100MHz data rate and > do > > not have any GMII interface. > > > > On imx8m side, it actually will be “downgraded” to RMII as well. > > > > /Roland > > > > > >> On Mar 1, 2024, at 9:31 PM, Alan C. Assis wrote: > >> > >> Hi Roland, > >> > >> I think the page I sent earlier has more info about MII, RMII, RGMII, > >> etc that you need to know before attempting to do it. Let me put here > >> for > >> clarification: > >> > >> "There are variants of the MII (GMII; RMII; SGMII; RGMII...) interface > >> for connecting MACs to PHYs or MACs to MACs, in some of them there is > >> a MAC or PHY role. > >> > >> The RGMII interface is a dual data rate (DDR) interface that consists > >> of a transmit path and a receive path. Both paths have an independent > >> clock, 4 data signals and a control signal. This means that in RGMII > >> there is no PHY or MAC role, so no special support is needed for > >> MAC-to-MAC connection as it is the case, being both ends in RGMII mode > >> is enough for the communication to be carried out." > >> > >> Today I found a new page with more information and some details that > >> probably will help you and others trying to do it, like clock > >> shifting, otherwise it will not work: > >> > >> https://community.nxp.com/t5/i-MX-Processors/Direct-ETH-MAC-MII-to-MAC > >> -MII-connection/m-p/1042795 > >> > >> So, if you didn't include the clock skew circuit as shown on this > >> link, then you will need to use RMII. > >> > >> Best Regards, > >> > >> Alan > >> > >> On Fri, Mar 1, 2024 at 8:31 AM Roland wrote: > >> > >>> @Alan, > >>> > >>> Thanks for the hints. > >>> > >>> From your message I will assume that this direct mode is not > >>> supported by default, so I need to start looking into it. > >>> > >>> I already have a basic hardware setup includes a STM32F7 custom board > >>> and an imx8m custom board, all prototypes. So it would be easier for > >>> me to start from these platforms @Nathan. > >>> > >>> As the GPIO resources are always against us, RMII would be a more > >>> realistic choice to me. > >>> > >>> In general level I have known it is possible, as I can find some > >>> successful cases in other platforms. And I will not worry too much > >>> about imx8m side which running Linux, which supports direct mode > >>> through RMII as claimed. > >>> I will be appreciated that if any Nuttx specific > >>> information/discussion about this feature that you can also share? > >>> This may prevent me from wasting time on something you may already > >>> explored. > >>> > >>> On hardware level, not sure if you can help to confirm my following > >>> understanding, > >>> > >>> 1. MDIO pins are not mandatory, so these 2 pins are not used on > >>> current prototypes in order to save GPIOs for other purposes. > >>> 2. 50MHz Reference clock is provided from a shared crystal to feed > >>> into both side. > >>> > >>> All the best, > >>> /Roland > >>> > >>> > >>>> On Mar 1, 2024, at 3:14 AM, Alan C. Assis wrote: > >>>> > >>>> Hi Roland, > >>>> > >>>> We had a discussion about it a few months ago! > >>>> > >>>> We know it is possible, but nobody until now tried to do it. > >>>> > >>>> Basically you will need RMII support on both chips, I don't remember > >>>> the details why MII will not work (or will be more difficult to > >>>> work) > >>>> > >>>> There is a discussion about it here, maybe you can get more insights: > >>>> > >>> https://stackoverflow.com/questions/39503466/can-two-ethernet-mac-chi > >>> ps-be-connected-directly-without-going-thru-phy > >>>> > >>>> Best Regards, > >>>> > >>>> Alan > >>>> > >>>> > >>>> On Thu, Feb 29, 2024 at 2:11 PM Roland > wrote: > >>>> > >>>>> Hi, > >>>>> > >>>>> I would like to directly connect a STM32F7 processor running Nuttx, > >>>>> to > >>> an > >>>>> external MCU (i.e., NXP imx8m) through RMII directly, without the > >>>>> need > >>> for > >>>>> PHY IC in between. > >>>>> Is this supported by Nuttx? I checked into the documents but this > >>>>> direct mode seems not been mentioned anywhere. > >>>>> Can anyone please confirm if this is supported, or I have to change > >>>>> something by myself? > >>>>> > >>>>> Thank you. > >>>>> > >>>>> /Roland > >>>>> > >>>>> > >>> > >>> > >
Re: Ethernet direct RMII connection
David, Thanks for the advice, I will check the manual. /Roland > On Mar 1, 2024, at 11:12 PM, David Sidrane wrote: > > Rolan, > > Have a look in the imx8 manual you may be able to source the clock from that > MAC. > > David > > > -Original Message- > From: Roland > Sent: Friday, March 1, 2024 9:55 AM > To: dev@nuttx.apache.org > Subject: Re: Ethernet direct RMII connection > > Hi Alan, > > Thanks for this reminder. > > I am using RMII, as STM32F7 can only support up to 100MHz data rate and do > not have any GMII interface. > > On imx8m side, it actually will be “downgraded” to RMII as well. > > /Roland > > >> On Mar 1, 2024, at 9:31 PM, Alan C. Assis wrote: >> >> Hi Roland, >> >> I think the page I sent earlier has more info about MII, RMII, RGMII, >> etc that you need to know before attempting to do it. Let me put here >> for >> clarification: >> >> "There are variants of the MII (GMII; RMII; SGMII; RGMII...) interface >> for connecting MACs to PHYs or MACs to MACs, in some of them there is >> a MAC or PHY role. >> >> The RGMII interface is a dual data rate (DDR) interface that consists >> of a transmit path and a receive path. Both paths have an independent >> clock, 4 data signals and a control signal. This means that in RGMII >> there is no PHY or MAC role, so no special support is needed for >> MAC-to-MAC connection as it is the case, being both ends in RGMII mode >> is enough for the communication to be carried out." >> >> Today I found a new page with more information and some details that >> probably will help you and others trying to do it, like clock >> shifting, otherwise it will not work: >> >> https://community.nxp.com/t5/i-MX-Processors/Direct-ETH-MAC-MII-to-MAC >> -MII-connection/m-p/1042795 >> >> So, if you didn't include the clock skew circuit as shown on this >> link, then you will need to use RMII. >> >> Best Regards, >> >> Alan >> >> On Fri, Mar 1, 2024 at 8:31 AM Roland wrote: >> >>> @Alan, >>> >>> Thanks for the hints. >>> >>> From your message I will assume that this direct mode is not >>> supported by default, so I need to start looking into it. >>> >>> I already have a basic hardware setup includes a STM32F7 custom board >>> and an imx8m custom board, all prototypes. So it would be easier for >>> me to start from these platforms @Nathan. >>> >>> As the GPIO resources are always against us, RMII would be a more >>> realistic choice to me. >>> >>> In general level I have known it is possible, as I can find some >>> successful cases in other platforms. And I will not worry too much >>> about imx8m side which running Linux, which supports direct mode >>> through RMII as claimed. >>> I will be appreciated that if any Nuttx specific >>> information/discussion about this feature that you can also share? >>> This may prevent me from wasting time on something you may already >>> explored. >>> >>> On hardware level, not sure if you can help to confirm my following >>> understanding, >>> >>> 1. MDIO pins are not mandatory, so these 2 pins are not used on >>> current prototypes in order to save GPIOs for other purposes. >>> 2. 50MHz Reference clock is provided from a shared crystal to feed >>> into both side. >>> >>> All the best, >>> /Roland >>> >>> >>>> On Mar 1, 2024, at 3:14 AM, Alan C. Assis wrote: >>>> >>>> Hi Roland, >>>> >>>> We had a discussion about it a few months ago! >>>> >>>> We know it is possible, but nobody until now tried to do it. >>>> >>>> Basically you will need RMII support on both chips, I don't remember >>>> the details why MII will not work (or will be more difficult to >>>> work) >>>> >>>> There is a discussion about it here, maybe you can get more insights: >>>> >>> https://stackoverflow.com/questions/39503466/can-two-ethernet-mac-chi >>> ps-be-connected-directly-without-going-thru-phy >>>> >>>> Best Regards, >>>> >>>> Alan >>>> >>>> >>>> On Thu, Feb 29, 2024 at 2:11 PM Roland wrote: >>>> >>>>> Hi, >>>>> >>>>> I would like to directly connect a STM32F7 processor running Nuttx, >>>>> to >>> an >>>>> external MCU (i.e., NXP imx8m) through RMII directly, without the >>>>> need >>> for >>>>> PHY IC in between. >>>>> Is this supported by Nuttx? I checked into the documents but this >>>>> direct mode seems not been mentioned anywhere. >>>>> Can anyone please confirm if this is supported, or I have to change >>>>> something by myself? >>>>> >>>>> Thank you. >>>>> >>>>> /Roland >>>>> >>>>> >>> >>>
RE: Ethernet direct RMII connection
Rolan, Have a look in the imx8 manual you may be able to source the clock from that MAC. David -Original Message- From: Roland Sent: Friday, March 1, 2024 9:55 AM To: dev@nuttx.apache.org Subject: Re: Ethernet direct RMII connection Hi Alan, Thanks for this reminder. I am using RMII, as STM32F7 can only support up to 100MHz data rate and do not have any GMII interface. On imx8m side, it actually will be “downgraded” to RMII as well. /Roland > On Mar 1, 2024, at 9:31 PM, Alan C. Assis wrote: > > Hi Roland, > > I think the page I sent earlier has more info about MII, RMII, RGMII, > etc that you need to know before attempting to do it. Let me put here > for > clarification: > > "There are variants of the MII (GMII; RMII; SGMII; RGMII...) interface > for connecting MACs to PHYs or MACs to MACs, in some of them there is > a MAC or PHY role. > > The RGMII interface is a dual data rate (DDR) interface that consists > of a transmit path and a receive path. Both paths have an independent > clock, 4 data signals and a control signal. This means that in RGMII > there is no PHY or MAC role, so no special support is needed for > MAC-to-MAC connection as it is the case, being both ends in RGMII mode > is enough for the communication to be carried out." > > Today I found a new page with more information and some details that > probably will help you and others trying to do it, like clock > shifting, otherwise it will not work: > > https://community.nxp.com/t5/i-MX-Processors/Direct-ETH-MAC-MII-to-MAC > -MII-connection/m-p/1042795 > > So, if you didn't include the clock skew circuit as shown on this > link, then you will need to use RMII. > > Best Regards, > > Alan > > On Fri, Mar 1, 2024 at 8:31 AM Roland wrote: > >> @Alan, >> >> Thanks for the hints. >> >> From your message I will assume that this direct mode is not >> supported by default, so I need to start looking into it. >> >> I already have a basic hardware setup includes a STM32F7 custom board >> and an imx8m custom board, all prototypes. So it would be easier for >> me to start from these platforms @Nathan. >> >> As the GPIO resources are always against us, RMII would be a more >> realistic choice to me. >> >> In general level I have known it is possible, as I can find some >> successful cases in other platforms. And I will not worry too much >> about imx8m side which running Linux, which supports direct mode >> through RMII as claimed. >> I will be appreciated that if any Nuttx specific >> information/discussion about this feature that you can also share? >> This may prevent me from wasting time on something you may already >> explored. >> >> On hardware level, not sure if you can help to confirm my following >> understanding, >> >> 1. MDIO pins are not mandatory, so these 2 pins are not used on >> current prototypes in order to save GPIOs for other purposes. >> 2. 50MHz Reference clock is provided from a shared crystal to feed >> into both side. >> >> All the best, >> /Roland >> >> >>> On Mar 1, 2024, at 3:14 AM, Alan C. Assis wrote: >>> >>> Hi Roland, >>> >>> We had a discussion about it a few months ago! >>> >>> We know it is possible, but nobody until now tried to do it. >>> >>> Basically you will need RMII support on both chips, I don't remember >>> the details why MII will not work (or will be more difficult to >>> work) >>> >>> There is a discussion about it here, maybe you can get more insights: >>> >> https://stackoverflow.com/questions/39503466/can-two-ethernet-mac-chi >> ps-be-connected-directly-without-going-thru-phy >>> >>> Best Regards, >>> >>> Alan >>> >>> >>> On Thu, Feb 29, 2024 at 2:11 PM Roland wrote: >>> >>>> Hi, >>>> >>>> I would like to directly connect a STM32F7 processor running Nuttx, >>>> to >> an >>>> external MCU (i.e., NXP imx8m) through RMII directly, without the >>>> need >> for >>>> PHY IC in between. >>>> Is this supported by Nuttx? I checked into the documents but this >>>> direct mode seems not been mentioned anywhere. >>>> Can anyone please confirm if this is supported, or I have to change >>>> something by myself? >>>> >>>> Thank you. >>>> >>>> /Roland >>>> >>>> >> >>
Re: Ethernet direct RMII connection
Hi Alan, Thanks for this reminder. I am using RMII, as STM32F7 can only support up to 100MHz data rate and do not have any GMII interface. On imx8m side, it actually will be “downgraded” to RMII as well. /Roland > On Mar 1, 2024, at 9:31 PM, Alan C. Assis wrote: > > Hi Roland, > > I think the page I sent earlier has more info about MII, RMII, RGMII, etc > that you need to know before attempting to do it. Let me put here for > clarification: > > "There are variants of the MII (GMII; RMII; SGMII; RGMII...) interface for > connecting MACs to PHYs or MACs to MACs, in some of them there is a MAC or > PHY role. > > The RGMII interface is a dual data rate (DDR) interface that consists of a > transmit path and a receive path. Both paths have an independent clock, 4 > data signals and a control signal. This means that in RGMII there is no PHY > or MAC role, so no special support is needed for MAC-to-MAC connection as > it is the case, being both ends in RGMII mode is enough for the > communication to be carried out." > > Today I found a new page with more information and some details that > probably will help you and others trying to do it, like clock shifting, > otherwise it will not work: > > https://community.nxp.com/t5/i-MX-Processors/Direct-ETH-MAC-MII-to-MAC-MII-connection/m-p/1042795 > > So, if you didn't include the clock skew circuit as shown on this link, > then you will need to use RMII. > > Best Regards, > > Alan > > On Fri, Mar 1, 2024 at 8:31 AM Roland wrote: > >> @Alan, >> >> Thanks for the hints. >> >> From your message I will assume that this direct mode is not supported by >> default, so I need to start looking into it. >> >> I already have a basic hardware setup includes a STM32F7 custom board and >> an imx8m custom board, all prototypes. So it would be easier for me to >> start from these platforms @Nathan. >> >> As the GPIO resources are always against us, RMII would be a more >> realistic choice to me. >> >> In general level I have known it is possible, as I can find some >> successful cases in other platforms. And I will not worry too much about >> imx8m side which running Linux, which supports direct mode through RMII as >> claimed. >> I will be appreciated that if any Nuttx specific information/discussion >> about this feature that you can also share? This may prevent me from >> wasting time on something you may already explored. >> >> On hardware level, not sure if you can help to confirm my following >> understanding, >> >> 1. MDIO pins are not mandatory, so these 2 pins are not used on current >> prototypes in order to save GPIOs for other purposes. >> 2. 50MHz Reference clock is provided from a shared crystal to feed into >> both side. >> >> All the best, >> /Roland >> >> >>> On Mar 1, 2024, at 3:14 AM, Alan C. Assis wrote: >>> >>> Hi Roland, >>> >>> We had a discussion about it a few months ago! >>> >>> We know it is possible, but nobody until now tried to do it. >>> >>> Basically you will need RMII support on both chips, I don't remember the >>> details why MII will not work (or will be more difficult to work) >>> >>> There is a discussion about it here, maybe you can get more insights: >>> >> https://stackoverflow.com/questions/39503466/can-two-ethernet-mac-chips-be-connected-directly-without-going-thru-phy >>> >>> Best Regards, >>> >>> Alan >>> >>> >>> On Thu, Feb 29, 2024 at 2:11 PM Roland wrote: >>> Hi, I would like to directly connect a STM32F7 processor running Nuttx, to >> an external MCU (i.e., NXP imx8m) through RMII directly, without the need >> for PHY IC in between. Is this supported by Nuttx? I checked into the documents but this direct mode seems not been mentioned anywhere. Can anyone please confirm if this is supported, or I have to change something by myself? Thank you. /Roland >> >>
Re: Ethernet direct RMII connection
Hi Roland, I think the page I sent earlier has more info about MII, RMII, RGMII, etc that you need to know before attempting to do it. Let me put here for clarification: "There are variants of the MII (GMII; RMII; SGMII; RGMII...) interface for connecting MACs to PHYs or MACs to MACs, in some of them there is a MAC or PHY role. The RGMII interface is a dual data rate (DDR) interface that consists of a transmit path and a receive path. Both paths have an independent clock, 4 data signals and a control signal. This means that in RGMII there is no PHY or MAC role, so no special support is needed for MAC-to-MAC connection as it is the case, being both ends in RGMII mode is enough for the communication to be carried out." Today I found a new page with more information and some details that probably will help you and others trying to do it, like clock shifting, otherwise it will not work: https://community.nxp.com/t5/i-MX-Processors/Direct-ETH-MAC-MII-to-MAC-MII-connection/m-p/1042795 So, if you didn't include the clock skew circuit as shown on this link, then you will need to use RMII. Best Regards, Alan On Fri, Mar 1, 2024 at 8:31 AM Roland wrote: > @Alan, > > Thanks for the hints. > > From your message I will assume that this direct mode is not supported by > default, so I need to start looking into it. > > I already have a basic hardware setup includes a STM32F7 custom board and > an imx8m custom board, all prototypes. So it would be easier for me to > start from these platforms @Nathan. > > As the GPIO resources are always against us, RMII would be a more > realistic choice to me. > > In general level I have known it is possible, as I can find some > successful cases in other platforms. And I will not worry too much about > imx8m side which running Linux, which supports direct mode through RMII as > claimed. > I will be appreciated that if any Nuttx specific information/discussion > about this feature that you can also share? This may prevent me from > wasting time on something you may already explored. > > On hardware level, not sure if you can help to confirm my following > understanding, > > 1. MDIO pins are not mandatory, so these 2 pins are not used on current > prototypes in order to save GPIOs for other purposes. > 2. 50MHz Reference clock is provided from a shared crystal to feed into > both side. > > All the best, > /Roland > > > > On Mar 1, 2024, at 3:14 AM, Alan C. Assis wrote: > > > > Hi Roland, > > > > We had a discussion about it a few months ago! > > > > We know it is possible, but nobody until now tried to do it. > > > > Basically you will need RMII support on both chips, I don't remember the > > details why MII will not work (or will be more difficult to work) > > > > There is a discussion about it here, maybe you can get more insights: > > > https://stackoverflow.com/questions/39503466/can-two-ethernet-mac-chips-be-connected-directly-without-going-thru-phy > > > > Best Regards, > > > > Alan > > > > > > On Thu, Feb 29, 2024 at 2:11 PM Roland wrote: > > > >> Hi, > >> > >> I would like to directly connect a STM32F7 processor running Nuttx, to > an > >> external MCU (i.e., NXP imx8m) through RMII directly, without the need > for > >> PHY IC in between. > >> Is this supported by Nuttx? I checked into the documents but this direct > >> mode seems not been mentioned anywhere. > >> Can anyone please confirm if this is supported, or I have to change > >> something by myself? > >> > >> Thank you. > >> > >> /Roland > >> > >> > >
Re: Ethernet direct RMII connection
@Alan, Thanks for the hints. From your message I will assume that this direct mode is not supported by default, so I need to start looking into it. I already have a basic hardware setup includes a STM32F7 custom board and an imx8m custom board, all prototypes. So it would be easier for me to start from these platforms @Nathan. As the GPIO resources are always against us, RMII would be a more realistic choice to me. In general level I have known it is possible, as I can find some successful cases in other platforms. And I will not worry too much about imx8m side which running Linux, which supports direct mode through RMII as claimed. I will be appreciated that if any Nuttx specific information/discussion about this feature that you can also share? This may prevent me from wasting time on something you may already explored. On hardware level, not sure if you can help to confirm my following understanding, 1. MDIO pins are not mandatory, so these 2 pins are not used on current prototypes in order to save GPIOs for other purposes. 2. 50MHz Reference clock is provided from a shared crystal to feed into both side. All the best, /Roland > On Mar 1, 2024, at 3:14 AM, Alan C. Assis wrote: > > Hi Roland, > > We had a discussion about it a few months ago! > > We know it is possible, but nobody until now tried to do it. > > Basically you will need RMII support on both chips, I don't remember the > details why MII will not work (or will be more difficult to work) > > There is a discussion about it here, maybe you can get more insights: > https://stackoverflow.com/questions/39503466/can-two-ethernet-mac-chips-be-connected-directly-without-going-thru-phy > > Best Regards, > > Alan > > > On Thu, Feb 29, 2024 at 2:11 PM Roland wrote: > >> Hi, >> >> I would like to directly connect a STM32F7 processor running Nuttx, to an >> external MCU (i.e., NXP imx8m) through RMII directly, without the need for >> PHY IC in between. >> Is this supported by Nuttx? I checked into the documents but this direct >> mode seems not been mentioned anywhere. >> Can anyone please confirm if this is supported, or I have to change >> something by myself? >> >> Thank you. >> >> /Roland >> >>
Re: Ethernet direct RMII connection
RMII just means it uses fewer I/O pins from the MCU as compared to MII. I don't remember the details either but it's possible that some chips support RMII and not MII because they don't have the additional I/O pins. Tiva-C (arch/arm/src/tiva) supports RMII (the chip has the built-in MAC and PHY) so maybe you can use that as a general example. Of course the details of drivers for STM32 will be quite different. Cheers Nathan On Thu, Feb 29, 2024 at 2:15 PM Alan C. Assis wrote: > Hi Roland, > > We had a discussion about it a few months ago! > > We know it is possible, but nobody until now tried to do it. > > Basically you will need RMII support on both chips, I don't remember the > details why MII will not work (or will be more difficult to work) > > There is a discussion about it here, maybe you can get more insights: > > https://stackoverflow.com/questions/39503466/can-two-ethernet-mac-chips-be-connected-directly-without-going-thru-phy > > Best Regards, > > Alan > > > On Thu, Feb 29, 2024 at 2:11 PM Roland wrote: > > > Hi, > > > > I would like to directly connect a STM32F7 processor running Nuttx, to an > > external MCU (i.e., NXP imx8m) through RMII directly, without the need > for > > PHY IC in between. > > Is this supported by Nuttx? I checked into the documents but this direct > > mode seems not been mentioned anywhere. > > Can anyone please confirm if this is supported, or I have to change > > something by myself? > > > > Thank you. > > > > /Roland > > > > >
Re: Ethernet direct RMII connection
Hi Roland, We had a discussion about it a few months ago! We know it is possible, but nobody until now tried to do it. Basically you will need RMII support on both chips, I don't remember the details why MII will not work (or will be more difficult to work) There is a discussion about it here, maybe you can get more insights: https://stackoverflow.com/questions/39503466/can-two-ethernet-mac-chips-be-connected-directly-without-going-thru-phy Best Regards, Alan On Thu, Feb 29, 2024 at 2:11 PM Roland wrote: > Hi, > > I would like to directly connect a STM32F7 processor running Nuttx, to an > external MCU (i.e., NXP imx8m) through RMII directly, without the need for > PHY IC in between. > Is this supported by Nuttx? I checked into the documents but this direct > mode seems not been mentioned anywhere. > Can anyone please confirm if this is supported, or I have to change > something by myself? > > Thank you. > > /Roland > >
Ethernet direct RMII connection
Hi, I would like to directly connect a STM32F7 processor running Nuttx, to an external MCU (i.e., NXP imx8m) through RMII directly, without the need for PHY IC in between. Is this supported by Nuttx? I checked into the documents but this direct mode seems not been mentioned anywhere. Can anyone please confirm if this is supported, or I have to change something by myself? Thank you. /Roland