Everyone:
Patches in this series are a result of my work on porting Linux code
for MV88E6xxx switches to Barebox.
Tested on the following H/W:
- ZII i.MX6Q RDU2, MV88E6352 switch
- ZII i.MX51 RDU1, MV88E6161 switch
- ZII i.MX7D RPU2, MV88E6352 switch
- ZII VF610 CFU1, MV88E6352 switch
- ZII VF610 SPU3, MV88E6390X switch
- ZII VF610 Development Board Rev. C, MV88E6390X switch x 2
Feedback is welcome!
Changes since [v2]:
- Added code to deal with port layout on MV88E6161
- Removed unused, #ifdefed-out code
- basename() re-implemented using kbasename()
- Added patches to deal with device name collision in aiodev
reported by Lucas
- Patch introducing dev_set_name() was split in two
- Added fix for dev_id()'s global buffer "collision"
- Removed a patch hunk for code that's not yet in "next"
Changes since [v1]:
- CONFIG_CLOCKSOURCE_ARM_GLOBAL_TIMER is not selected by
default. VF610 now selects it explicitly
- Incorrect logic in patch 14/17 was fixed to correctly handle PHY
nodes that have "compatible" property
- Added more documentation for dev_set_name()
[v2] http://lists.infradead.org/pipermail/barebox/2018-October/034965.html
[v1] http://lists.infradead.org/pipermail/barebox/2018-October/034963.html
Andrey Smirnov (22):
ARM: Do not expose ARMv8 functions on ARMv7
clocksource: Add ARM global timer support
VFxxx: Select CLOCKSOURCE_ARM_GLOBAL_TIMER
i.MX: Move GPT driver to drivers/clocksource
clocksource: Introduce ARCH_HAS_IMX_GPT
of: Demote "Bad cell count for" to debug
aiodev: Don't try to use DT node name as aiodev->name
aiodev: imx_thermal: Give aiodev a more descriptive name
aiodev: qoriq_thermal: Give aiodev a more descriptive name
drivers: Introduce dev_set_name()
base: Don't use shared buffer for results of dev_id()
drivers: base: Convert device_d name to be dynamically allocated
linux: string: Port kbasename()
of: Port latest of_device_make_bus_id() implementation
mdio_bus: Fix documentation for mdio_bus_match()
include: linux: phy: Add missing PHY_INTERFACE_* constants
include: linux: ethtool: Add missing *_UNKNOWN constants
net: phy: Check phy_mask in get_phy_device()
mdio_bus: Allow for non PHY-devices on MDIO buses
net: phy: Add basic driver for MV88E6XXX switches from Marvell
net: phy: mv88e6xxx: Port EEPROM support code
net: phy: mv88e6xxx: Add support for MAC ports
arch/arm/include/asm/system.h | 2 +-
arch/arm/mach-imx/Kconfig | 12 +
arch/arm/mach-imx/Makefile | 1 -
arch/arm/mach-imx/iim.c | 2 +-
.../arm/mach-imx/include/mach/devices-imx51.h | 2 +-
.../arm/mach-imx/include/mach/devices-imx53.h | 2 +-
arch/arm/mach-mxs/include/mach/devices.h | 2 +-
arch/arm/mach-mxs/ocotp.c | 2 +-
arch/sandbox/board/console.c | 2 +-
common/console.c | 4 +-
common/state/state.c | 2 +-
drivers/aiodev/core.c | 4 +-
drivers/aiodev/imx_thermal.c | 1 +
drivers/aiodev/qoriq_thermal.c | 1 +
drivers/amba/bus.c | 2 +-
drivers/ata/disk_ata_drive.c | 4 +-
drivers/base/bus.c | 2 +-
drivers/base/driver.c | 45 +-
drivers/base/resource.c | 2 +-
drivers/clocksource/Kconfig | 10 +
drivers/clocksource/Makefile | 2 +
drivers/clocksource/arm_global_timer.c | 113 +++
.../clocksource/timer-imx-gpt.c | 0
drivers/efi/efi-device.c | 2 +-
drivers/firmware/socfpga.c | 2 +-
drivers/i2c/i2c.c | 4 +-
drivers/mci/mci-core.c | 4 +-
drivers/mtd/core.c | 2 +-
drivers/mtd/spi-nor/cadence-quadspi.c | 2 +-
drivers/mtd/ubi/build.c | 2 +-
drivers/mtd/ubi/vmt.c | 4 +-
drivers/net/cpsw.c | 2 +-
drivers/net/e1000/eeprom.c | 2 +-
drivers/net/orion-gbe.c | 2 +-
drivers/net/phy/Kconfig | 6 +
drivers/net/phy/Makefile | 1 +
drivers/net/phy/mdio_bus.c | 27 +-
drivers/net/phy/mv88e6xxx/Makefile | 5 +
drivers/net/phy/mv88e6xxx/chip.c | 913 ++++++++++++++++++
drivers/net/phy/mv88e6xxx/chip.h | 142 +++
drivers/net/phy/mv88e6xxx/global2.c | 389 ++++++++
drivers/net/phy/mv88e6xxx/global2.h | 70 ++
drivers/net/phy/mv88e6xxx/port.c | 663 +++++++++++++
drivers/net/phy/mv88e6xxx/port.h | 137 +++
drivers/net/phy/phy.c | 15 +-
drivers/nvmem/core.c | 2 +-
drivers/nvmem/ocotp.c | 2 +-
drivers/of/address.c | 4 +-
drivers/of/platform.c | 80 +-
drivers/pci/bus.c | 3 +-
drivers/phy/phy-core.c | 2 +-
drivers/pwm/core.c | 2 +-
drivers/rtc/class.c | 2 +-
drivers/spi/spi.c | 2 +-
drivers/usb/core/usb.c | 5 +-
drivers/usb/gadget/udc-core.c | 4 +-
drivers/usb/musb/musb_dsps.c | 2 +-
drivers/video/backlight.c | 2 +-
drivers/video/fb.c | 2 +-
drivers/w1/w1.c | 4 +-
drivers/watchdog/wd_core.c | 2 +-
fs/fs.c | 2 +-
include/driver.h | 25 +-
include/linux/ethtool.h | 3 +
include/linux/phy.h | 9 +
include/linux/string.h | 12 +
lib/libgen.c | 16 +-
net/eth.c | 2 +-
68 files changed, 2649 insertions(+), 155 deletions(-)
create mode 100644 drivers/clocksource/arm_global_timer.c
rename arch/arm/mach-imx/clocksource.c => drivers/clocksource/timer-imx-gpt.c
(100%)
create mode 100644 drivers/net/phy/mv88e6xxx/Makefile
create mode 100644 drivers/net/phy/mv88e6xxx/chip.c
create mode 100644 drivers/net/phy/mv88e6xxx/chip.h
create mode 100644 drivers/net/phy/mv88e6xxx/global2.c
create mode 100644 drivers/net/phy/mv88e6xxx/global2.h
create mode 100644 drivers/net/phy/mv88e6xxx/port.c
create mode 100644 drivers/net/phy/mv88e6xxx/port.h
--
2.17.1
_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox