From: Raymond Mao <[email protected]>
This patch series introduces full support for the k1 SoC in SPL for
multiple boards.
The series enables the board by:
1. Adding the base board definition with device tree.
2. Bringing up essential clock sources and tree.
3. Initializing I2C buses for peripheral communication.
4. Integrating the PMIC driver for power management.
5. Adding regulator drivers for voltage domain control.
Change in v2:
- Use read_poll_timeout() in k1 i2c driver.
- Abandon to parse offset and size from Kconfig & Makefile for binman.
- Abandon to attach firmware image into the patch set.
- Update the related document and some minor changes.
Junhui Liu (1):
clk: spacemit: Add support for K1 SoC
Raymond Mao (15):
spacemit: k1: support multi-board infrastructure
spacemit: k1: enable SPL with debug UART
configs: k1: enable early timer support
reset: k1: add SPL support and enable TWSI8 reset
dt-bindings: clock: import k1-syscon from upstream
dts: k1: import dts file from upstream folder
dts: k1: enable clocks in SPL
board: k1: initialize clock and serial devices in SPL
configs: k1: add default option for clock driver in SPL
i2c: k1: add I2C driver support
spacemit: k1: add TLV EEPROM support in SPL
spacemit: k1: Add DDR firmware support to SPL
power: pmic: add support for Spacemit P1 PMIC
power: regulator: add support for Spacemit P1 SoC
board: k1: enable pmic in spl
arch/riscv/Kconfig | 10 +-
arch/riscv/cpu/k1/Kconfig | 6 +
arch/riscv/dts/Makefile | 1 +
arch/riscv/dts/k1-spl.dts | 228 +++
arch/riscv/dts/k1.dtsi | 666 +++++-
board/spacemit/bananapi-f3/MAINTAINERS | 6 -
board/spacemit/bananapi-f3/Makefile | 5 -
board/spacemit/{bananapi-f3 => k1}/Kconfig | 11 +-
board/spacemit/k1/MAINTAINERS | 11 +
board/spacemit/k1/Makefile | 27 +
board/spacemit/{bananapi-f3 => k1}/board.c | 0
board/spacemit/k1/spl.c | 347 ++++
board/spacemit/k1/tlv_codes.h | 22 +
configs/bananapi-f3_defconfig | 24 -
configs/spacemit_k1_defconfig | 76 +
doc/board/spacemit/bananapi-f3.rst | 2 +-
drivers/clk/Kconfig | 5 +-
drivers/clk/Makefile | 1 +
drivers/clk/spacemit/Kconfig | 31 +
drivers/clk/spacemit/Makefile | 7 +
drivers/clk/spacemit/clk-k1.c | 1795 +++++++++++++++++
drivers/clk/spacemit/clk_common.h | 79 +
drivers/clk/spacemit/clk_ddn.c | 93 +
drivers/clk/spacemit/clk_ddn.h | 53 +
drivers/clk/spacemit/clk_mix.c | 403 ++++
drivers/clk/spacemit/clk_mix.h | 224 ++
drivers/clk/spacemit/clk_pll.c | 157 ++
drivers/clk/spacemit/clk_pll.h | 81 +
drivers/i2c/Kconfig | 7 +
drivers/i2c/Makefile | 1 +
drivers/i2c/k1_i2c.c | 516 +++++
drivers/i2c/k1_i2c.h | 69 +
drivers/power/pmic/Kconfig | 17 +
drivers/power/pmic/Makefile | 1 +
drivers/power/pmic/pmic_spacemit_p1.c | 94 +
drivers/power/regulator/Kconfig | 15 +
drivers/power/regulator/Makefile | 1 +
.../power/regulator/spacemit_p1_regulator.c | 460 +++++
drivers/reset/Kconfig | 7 +
drivers/reset/Makefile | 2 +-
drivers/reset/reset-spacemit-k1.c | 4 -
include/configs/bananapi-f3.h | 13 -
include/configs/k1.h | 19 +
.../dt-bindings/clock/spacemit,k1-syscon.h | 253 +++
include/power/spacemit_p1.h | 163 ++
include/soc/spacemit/k1-syscon.h | 149 ++
46 files changed, 5997 insertions(+), 165 deletions(-)
create mode 100644 arch/riscv/dts/k1-spl.dts
delete mode 100644 board/spacemit/bananapi-f3/MAINTAINERS
delete mode 100644 board/spacemit/bananapi-f3/Makefile
rename board/spacemit/{bananapi-f3 => k1}/Kconfig (63%)
create mode 100644 board/spacemit/k1/MAINTAINERS
create mode 100644 board/spacemit/k1/Makefile
rename board/spacemit/{bananapi-f3 => k1}/board.c (100%)
create mode 100644 board/spacemit/k1/spl.c
create mode 100644 board/spacemit/k1/tlv_codes.h
delete mode 100644 configs/bananapi-f3_defconfig
create mode 100644 configs/spacemit_k1_defconfig
create mode 100644 drivers/clk/spacemit/Kconfig
create mode 100644 drivers/clk/spacemit/Makefile
create mode 100644 drivers/clk/spacemit/clk-k1.c
create mode 100644 drivers/clk/spacemit/clk_common.h
create mode 100644 drivers/clk/spacemit/clk_ddn.c
create mode 100644 drivers/clk/spacemit/clk_ddn.h
create mode 100644 drivers/clk/spacemit/clk_mix.c
create mode 100644 drivers/clk/spacemit/clk_mix.h
create mode 100644 drivers/clk/spacemit/clk_pll.c
create mode 100644 drivers/clk/spacemit/clk_pll.h
create mode 100644 drivers/i2c/k1_i2c.c
create mode 100644 drivers/i2c/k1_i2c.h
create mode 100644 drivers/power/pmic/pmic_spacemit_p1.c
create mode 100644 drivers/power/regulator/spacemit_p1_regulator.c
delete mode 100644 include/configs/bananapi-f3.h
create mode 100644 include/configs/k1.h
create mode 100644 include/dt-bindings/clock/spacemit,k1-syscon.h
create mode 100644 include/power/spacemit_p1.h
create mode 100644 include/soc/spacemit/k1-syscon.h
--
2.25.1