[v3, 0/7] Support programmable pins for Ocelot PTP driver
From: Yangbo Lu
Date: Sun Apr 19 2020 - 22:51:16 EST
The Ocelot PTP clock driver had been embedded into ocelot.c driver.
It had supported basic gettime64/settime64/adjtime/adjfine functions
by now which were used by both Ocelot switch and Felix switch.
This patch-set is to move current ptp clock code out of ocelot.c driver
maintaining as a single ocelot_ptp.c driver, and to implement 4
programmable pins with only PTP_PF_PEROUT function for now.
The PTP_PF_EXTTS function will be supported in the future, and it should
be implemented separately for Felix and Ocelot, because of different
hardware interrupt implementation in them.
---
Changes for v2:
- Put PTP driver under drivers/net/ethernet/mscc/.
- Dropped MAINTAINERS patch. Kept original maintaining.
- Initialized PTP separately in ocelot/felix platforms.
- Supported PPS case in programmable pin.
- Supported disabling pin function since deadlock is fixed by Richard.
- Returned -EBUSY if not finding pin available.
Changes for v3:
- Re-sent.
Yangbo Lu (7):
net: mscc: ocelot: move ocelot ptp clock code out of ocelot.c
net: mscc: ocelot: fix timestamp info if ptp clock does not work
net: mscc: ocelot: redefine PTP pins
net: mscc: ocelot: add wave programming registers definitions
net: mscc: ocelot: support 4 PTP programmable pins
net: mscc: ocelot: enable PTP programmable pin
net: dsa: felix: enable PTP programmable pin
drivers/net/dsa/ocelot/felix.c | 27 ++
drivers/net/dsa/ocelot/felix_vsc9959.c | 2 +
drivers/net/ethernet/mscc/Makefile | 2 +-
drivers/net/ethernet/mscc/ocelot.c | 212 +-------------
drivers/net/ethernet/mscc/ocelot.h | 3 +-
drivers/net/ethernet/mscc/ocelot_board.c | 27 ++
drivers/net/ethernet/mscc/ocelot_ptp.c | 324 +++++++++++++++++++++
drivers/net/ethernet/mscc/ocelot_regs.c | 2 +
include/soc/mscc/ocelot.h | 15 +-
.../net/ethernet => include/soc}/mscc/ocelot_ptp.h | 17 ++
10 files changed, 417 insertions(+), 214 deletions(-)
create mode 100644 drivers/net/ethernet/mscc/ocelot_ptp.c
rename {drivers/net/ethernet => include/soc}/mscc/ocelot_ptp.h (52%)
--
2.7.4