mirror of https://github.com/ARMmbed/mbed-os.git
				
				
				
			MCUXpresso: Update ENET drivers to not enter deep sleep when active
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>pull/10796/head
							parent
							
								
									eaace297dc
								
							
						
					
					
						commit
						85ef683bfc
					
				| 
						 | 
					@ -46,6 +46,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "kinetis_emac_config.h"
 | 
					#include "kinetis_emac_config.h"
 | 
				
			||||||
#include "kinetis_emac.h"
 | 
					#include "kinetis_emac.h"
 | 
				
			||||||
 | 
					#include "mbed_power_mgmt.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enet_handle_t g_handle;
 | 
					enet_handle_t g_handle;
 | 
				
			||||||
// TX Buffer descriptors
 | 
					// TX Buffer descriptors
 | 
				
			||||||
| 
						 | 
					@ -496,6 +497,9 @@ bool Kinetis_EMAC::power_up()
 | 
				
			||||||
        return false;
 | 
					        return false;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Can't enter deep sleep as long as Ethernet is active
 | 
				
			||||||
 | 
					    sleep_manager_lock_deep_sleep();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* Worker thread */
 | 
					    /* Worker thread */
 | 
				
			||||||
    thread = create_new_thread("Kinetis_EMAC_thread", &Kinetis_EMAC::thread_function, this, THREAD_STACKSIZE, THREAD_PRIORITY, &thread_cb);
 | 
					    thread = create_new_thread("Kinetis_EMAC_thread", &Kinetis_EMAC::thread_function, this, THREAD_STACKSIZE, THREAD_PRIORITY, &thread_cb);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -580,7 +584,8 @@ void Kinetis_EMAC::set_all_multicast(bool all)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void Kinetis_EMAC::power_down()
 | 
					void Kinetis_EMAC::power_down()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    /* No-op at this stage */
 | 
					    // Ethernet went down, can enter deep sleep
 | 
				
			||||||
 | 
					    sleep_manager_unlock_deep_sleep();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void Kinetis_EMAC::set_memory_manager(EMACMemoryManager &mem_mngr)
 | 
					void Kinetis_EMAC::set_memory_manager(EMACMemoryManager &mem_mngr)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -46,6 +46,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "imx_emac_config.h"
 | 
					#include "imx_emac_config.h"
 | 
				
			||||||
#include "imx_emac.h"
 | 
					#include "imx_emac.h"
 | 
				
			||||||
 | 
					#include "mbed_power_mgmt.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enet_handle_t g_handle;
 | 
					enet_handle_t g_handle;
 | 
				
			||||||
// RX packet buffer pointers
 | 
					// RX packet buffer pointers
 | 
				
			||||||
| 
						 | 
					@ -500,6 +501,9 @@ bool Kinetis_EMAC::power_up()
 | 
				
			||||||
        return false;
 | 
					        return false;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Can't enter deep sleep as long as Ethernet is active
 | 
				
			||||||
 | 
					    sleep_manager_lock_deep_sleep();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* Worker thread */
 | 
					    /* Worker thread */
 | 
				
			||||||
    thread = create_new_thread("Kinetis_EMAC_thread", &Kinetis_EMAC::thread_function, this, THREAD_STACKSIZE, THREAD_PRIORITY, &thread_cb);
 | 
					    thread = create_new_thread("Kinetis_EMAC_thread", &Kinetis_EMAC::thread_function, this, THREAD_STACKSIZE, THREAD_PRIORITY, &thread_cb);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -584,7 +588,8 @@ void Kinetis_EMAC::set_all_multicast(bool all)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void Kinetis_EMAC::power_down()
 | 
					void Kinetis_EMAC::power_down()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    /* No-op at this stage */
 | 
					    // Ethernet went down, can enter deep sleep
 | 
				
			||||||
 | 
					    sleep_manager_unlock_deep_sleep();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void Kinetis_EMAC::set_memory_manager(EMACMemoryManager &mem_mngr)
 | 
					void Kinetis_EMAC::set_memory_manager(EMACMemoryManager &mem_mngr)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue