- Enable SATA disk on QEMU RISC-V and update doc. - k210 pinctrl updates: - Fix inverted IE and OE for I2C. - Rename power domains to match datasheet.
This commit is contained in:
commit
e800d715e0
4 changed files with 47 additions and 29 deletions
|
@ -29,33 +29,40 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
def_bool y
|
||||
select GENERIC_RISCV
|
||||
select SUPPORT_SPL
|
||||
imply SYS_NS16550
|
||||
imply VIRTIO_MMIO
|
||||
imply VIRTIO_NET
|
||||
imply VIRTIO_BLK
|
||||
imply VIRTIO_PCI
|
||||
imply AHCI
|
||||
imply SMP
|
||||
imply BOARD_LATE_INIT
|
||||
imply PCI_INIT_R
|
||||
imply SPL_RAM_SUPPORT
|
||||
imply SPL_RAM_DEVICE
|
||||
imply CMD_PCI
|
||||
imply CMD_POWEROFF
|
||||
imply CMD_SCSI
|
||||
imply CMD_PING
|
||||
imply CMD_FS_GENERIC
|
||||
imply DOS_PARTITION
|
||||
imply EFI_PARTITION
|
||||
imply ISO_PARTITION
|
||||
imply CMD_EXT2
|
||||
imply CMD_EXT4
|
||||
imply CMD_FAT
|
||||
imply BOARD_LATE_INIT
|
||||
imply SIFIVE_SERIAL
|
||||
imply SMP
|
||||
imply CMD_FS_GENERIC
|
||||
imply DOS_PARTITION
|
||||
imply ISO_PARTITION
|
||||
imply EFI_PARTITION
|
||||
imply SCSI_AHCI
|
||||
imply AHCI_PCI
|
||||
imply E1000
|
||||
imply NVME
|
||||
imply PCI
|
||||
imply DM_PCI
|
||||
imply PCIE_ECAM_GENERIC
|
||||
imply CMD_PCI
|
||||
imply E1000
|
||||
imply NVME
|
||||
imply SPL_RAM_SUPPORT
|
||||
imply SPL_RAM_DEVICE
|
||||
imply SCSI
|
||||
imply DM_SCSI
|
||||
imply SYS_NS16550
|
||||
imply SIFIVE_SERIAL
|
||||
imply SYSRESET
|
||||
imply SYSRESET_SYSCON
|
||||
imply CMD_POWEROFF
|
||||
imply SYSRESET_CMD_POWEROFF
|
||||
imply SYSRESET_SYSCON
|
||||
imply VIRTIO_MMIO
|
||||
imply VIRTIO_PCI
|
||||
imply VIRTIO_NET
|
||||
imply VIRTIO_BLK
|
||||
|
||||
endif
|
||||
|
|
|
@ -105,3 +105,11 @@ configurations are:
|
|||
|
||||
qemu-system-riscv64 -nographic -machine virt -bios spl/u-boot-spl \
|
||||
-device loader,file=u-boot.itb,addr=0x80200000
|
||||
|
||||
An attached disk can be emulated by adding::
|
||||
|
||||
-device ich9-ahci,id=ahci \
|
||||
-drive if=none,file=riscv64.img,format=raw,id=mydisk \
|
||||
-device ide-hd,drive=mydisk,bus=ahci.0
|
||||
|
||||
You will have to run 'scsi scan' to use it.
|
||||
|
|
|
@ -18,7 +18,7 @@ Pin configuration nodes are documented in pinctrl-bindings.txt
|
|||
Required properties for pin-configuration nodes or sub-nodes are:
|
||||
- groups: list of power groups to which the configuration applies. Valid groups
|
||||
are:
|
||||
A0, A1, A2, B0, B1, B2, C0, C1
|
||||
A0, A1, A2, B3, B4, B5, C6, C7
|
||||
(either this or "pinmux" must be specified)
|
||||
- pinmux: integer array representing pin multiplexing configuration. In addition
|
||||
to the 256 standard functions, each pin can also output the direction
|
||||
|
|
|
@ -55,8 +55,9 @@
|
|||
|
||||
#define K210_PC_MODE_IN (K210_PC_IE | K210_PC_ST)
|
||||
#define K210_PC_MODE_OUT (K210_PC_DRIVE_7 | K210_PC_OE)
|
||||
#define K210_PC_MODE_I2C (K210_PC_MODE_IN | K210_PC_IE_INV | K210_PC_SL | \
|
||||
K210_PC_OE | K210_PC_OE_INV | K210_PC_PU)
|
||||
#define K210_PC_MODE_I2C (K210_PC_MODE_IN | K210_PC_SL | K210_PC_OE | \
|
||||
K210_PC_PU)
|
||||
#define K210_PC_MODE_SCCB (K210_PC_MODE_I2C | K210_PC_OE_INV | K210_PC_IE_INV)
|
||||
#define K210_PC_MODE_SPI (K210_PC_MODE_IN | K210_PC_IE_INV | \
|
||||
K210_PC_MODE_OUT | K210_PC_OE_INV)
|
||||
#define K210_PC_MODE_GPIO (K210_PC_MODE_IN | K210_PC_MODE_OUT)
|
||||
|
@ -152,11 +153,11 @@ static const char k210_pc_group_names[][3] = {
|
|||
[0] = "A0",
|
||||
[1] = "A1",
|
||||
[2] = "A2",
|
||||
[3] = "B0",
|
||||
[4] = "B1",
|
||||
[5] = "B2",
|
||||
[6] = "C0",
|
||||
[7] = "C1",
|
||||
[3] = "B3",
|
||||
[4] = "B4",
|
||||
[5] = "B5",
|
||||
[6] = "C6",
|
||||
[7] = "C7",
|
||||
};
|
||||
|
||||
static int k210_pc_get_groups_count(struct udevice *dev)
|
||||
|
@ -176,6 +177,7 @@ enum k210_pc_mode_id {
|
|||
K210_PC_DEFAULT_IN_TIE,
|
||||
K210_PC_DEFAULT_OUT,
|
||||
K210_PC_DEFAULT_I2C,
|
||||
K210_PC_DEFAULT_SCCB,
|
||||
K210_PC_DEFAULT_SPI,
|
||||
K210_PC_DEFAULT_GPIO,
|
||||
K210_PC_DEFAULT_INT13,
|
||||
|
@ -189,6 +191,7 @@ static const u32 k210_pc_mode_id_to_mode[] = {
|
|||
[K210_PC_DEFAULT_IN_TIE] = K210_PC_MODE_IN,
|
||||
DEFAULT(OUT),
|
||||
DEFAULT(I2C),
|
||||
DEFAULT(SCCB),
|
||||
DEFAULT(SPI),
|
||||
DEFAULT(GPIO),
|
||||
[K210_PC_DEFAULT_INT13] = K210_PC_MODE_IN | K210_PC_PU,
|
||||
|
@ -362,8 +365,8 @@ static const struct k210_pcf_info k210_pcf_infos[] = {
|
|||
FUNC(DVP_D5, IN),
|
||||
FUNC(DVP_D6, IN),
|
||||
FUNC(DVP_D7, IN),
|
||||
FUNC(SCCB_SCLK, I2C),
|
||||
FUNC(SCCB_SDA, I2C),
|
||||
FUNC(SCCB_SCLK, SCCB),
|
||||
FUNC(SCCB_SDA, SCCB),
|
||||
FUNC(UART1_CTS, IN),
|
||||
FUNC(UART1_DSR, IN),
|
||||
FUNC(UART1_DCD, IN),
|
||||
|
|
Loading…
Reference in a new issue