GPIO Multiplexed and Ethernet Subnet based on LS1028A Development Board

Multiplex GPIO


Here we take SPI multiplexed to GPIO for demonstration


From LS1028A datasheet we can know that SPI_SIN could be multiplexed to  GPIO_DAT13, SPI3_SCK could be multiplexed to GPIO3_DAT14, SPI_SIN could be multiplexed to GPIO3_DAT13 and SPI3_SOUT could be multiplexed to GPIO3_DAT16

And we can also know that the RXW is SPI3_PMUX

From the sheet we can know that when  SPI3_PMUX=1, the pin is configured to  GPIO3_DAT[16:13], we just need change its RCW, then recompile and flash it to board.

RCW path:

OK1028-linux-fs/packages/firmware/rcw/ls1028ardb/R_SQPP_0x85bb/rcw_1500_gpu600.rcw

Verify on board

root@forlinx:~#ls /sys/class/gpio
export gpiochip416  gpiochip448  gpiochip480  unexport

execute the above command and we'll get four couples of gpiochip as below


Gpiochip480 for gpio1[];

Gpiochip448  for  gpio2[];

Gpiochip416  for  gpio3[];   


users can refer to this to verify their target pin by  GPIO3_DATx=gpiochip416+x,

here we take GPIO3_DAT14 for demonstration



root@forlinx:~#echo 430 > /sys/class/gpio/export

root@forlinx:~#echo out > /sys/class/gpio/gpio430/direction

root@forlinx:~#echo 1 > /sys/class/gpio/gpio430/value

root@forlinx:~#cat  /sys/class/gpio/gpio430/value

1

root@forlinx:~#echo 0 > /sys/class/gpio/gpio430/value

root@forlinx:~#cat  /sys/class/gpio/gpio430/value

0

voltage will be changed accordingly.


SPI3 will be multiplexed to GPIO completely, when SPI3_PMUX=1, the pin will be configured to GPIO3_DAT[16:13]


Ethernet on OK1028A-C

eno0 is  SGMII1G-T protocol, and swp0-swp3 is QSGMII1G

About Switch

Ethernet system consists of ENETC and TSN enabled switch

ENETC is a virtical Ethernet controller with GbE and TSN enabled. ENETC provides fully integrated GbE MACs. It can support IP, TCP, UDP and ICMP.

The ENETC has below features


•Implements the full 802.3 specification withpreamble/SFD generation, frame padding generation, CRC generation andchecking.

•One 10/100/1000/2500 Mbit/s Ethernet port. ThroughSerDes, SGMII (1G/2.5G) and USXGMII (2.5G) MAC-PHY

specificationsare supported.

•One 10/100/1000 Mbit/s Ethernet port with RGMIIinterface.

•One 2500 Mbit/s Ethernet port connected internallyto TSN Switch for switch data transmission.

•One 1000-Mbit/s Ethernet port connected internallyto TSN Switch for switch management.

•Supports jumbo Ethernet frames with a size up to9600 bytes

•Supports double tagged VLAN frames according toIEEE 802.1Q

•Supports IEEE 802.1Qbu preemption

•PCI Express root complex integrated endpointdevice



And TSN has below features


•Four external 10/100/1000/2500-Mbit/s Ethernetports. Through SerDes, SGMII (1G/2.5G) and USXGMII (2.5G) MAC

PHYspecifications are supported.

•One 2500 Mbit/s Ethernet port connected internallyto ENETC for data transmission.

•One 1000 Mbit/s Ethernet port connected internallyto ENETC for management.

•One internal CPU port, for frame extraction andinjection.

•128KB of integrated shared packet memory.

•Fully nonblocking wire-speed switching performancewith weighted random early detection (WRED) for all frame sizes.


Broadly speaking, LS1028A can support up to 6 Ethernet ports, and all are available for TSN.