Zephyr on the ESP32

Ethernet is now working on the Olimex ESP32-POE under Zephyr!

[00:00:00.210,000] <inf> phy_mii: PHY (0) ID 7C0F1
                                                                                                                     
[00:00:00.212,000] <inf> eth_esp32: APLL is occupied already, it is working at 50000000 Hz
*** Booting Zephyr OS build v3.7.0-rc1-375-g9f927f97847f ***
[00:00:00.225,000] <inf> net_config: Initializing network
[00:00:00.225,000] <inf> net_config: Waiting interface 1 (0x3ffb5d00) to be up...
uart:~$ SIOT Zephyr Application! esp32_poe/esp32/procpu
[00:00:03.418,000] <inf> phy_mii: PHY (0) Link speed 100 Mb, full duplex
                                                                                                                     
[00:00:03.418,000] <inf> net_config: Interface 1 (0x3ffb5d00) coming up
[00:00:03.418,000] <inf> net_config: Running dhcpv4 client...
[00:00:08.423,000] <inf> net_dhcpv4: Received: 10.0.0.148
[00:00:08.423,000] <inf> net_config: IPv4 address: 10.0.0.148
[00:00:08.423,000] <inf> net_config: Lease time: 600 seconds
[00:00:08.423,000] <inf> net_config: Subnet: 255.255.255.0
[00:00:08.423,000] <inf> net_config: Router: 10.0.0.1

Some fixes have been merged for ESP32 Ethernet and one PR is still pending. The complete build is here:

This is a Zephyr Workspace T2 topology that pulls in Zephyr as a dependency.

Notice right now, we are referencing a PR repo/branch that has the fixes we need.

manifest:
  remotes:
    - name: zephyrproject-rtos
      url-base: https://github.com/zephyrproject-rtos
    - name: zephyr-sylvio
      url-base: https://github.com/sylvioalves
    - name: zephyr-iwasz
      url-base: https://github.com/iwasz
  projects:
    - name: zephyr
      remote: zephyr-iwasz
      revision: initialize_ref_clk_in_mdio_esp32
      import: 
        name-allowlist:
          - hal_espressif
          - hal_stm32
          - cmsis
  self:
    path: siot

This has been a community effort: