Add a table API that has per accss register locking and uses
register description information to handle all table access
through a single set of api calls.
Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
Adds support for the RTL9300 and RTL9310 series of switches
with 10GBit per port and up to 56 ports.
Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
This adds support for the internal SerDes of the RTL9300 SoC
and for the RTL8218D and RTL8226B phys found in combination
with this SoC in switches.
Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
This fixes the usage of the RTL8231 GPIO extender chip
when used with the RTL839X SoCs. Specifically,
the PHY addresses may be different from 0.
Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
This adds support for identifying QoS information in packets
and use this and rate control information to submit to multiple
egress queues. The ethernet driver is also made to support
2 egress and up to 32 egress queues.
Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
this adds support for the SoC timer of the RTL9300 chips, it
provides 6 independent timer/counters, of which the first one
is used as a clocksource and the second one as event timer.
Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
Cppcheck shows here duplicated break.
Code `state->speed = SPEED_1000;` will be never executed because above
it there is break statement.
Almost identical statement is placed in another realtek driver
18a53d43d6/target/linux/realtek/files-5.4/drivers/net/dsa/rtl83xx/dsa.c (L286-L294)
Signed-off-by: Rafał Mikrut <mikrutrafal@protonmail.com>
Cppcheck shows self initialization error, which is an obvious bug.
Basing on logic of similar fragment below I assigned to this variable,
value `RTL838X_LED_GLB_CTRL` which I think is proper.
Signed-off-by: Rafał Mikrut <mikrutrafal@protonmail.com>