6a033490 | 26-Sep-2021 |
Bin Meng <bmeng.cn@gmail.com> |
hw/char: sifive_uart: Register device in 'input' category
The category of sifive_uart device is not set. Put it into the 'input' category.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by:
hw/char: sifive_uart: Register device in 'input' category
The category of sifive_uart device is not set. Put it into the 'input' category.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-id: 20210926105003.2716-3-bmeng.cn@gmail.com Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
show more ...
|
5515ff16 | 26-Sep-2021 |
Bin Meng <bmeng.cn@gmail.com> |
hw/char: shakti_uart: Register device in 'input' category
The category of shakti_uart device is not set. Put it into the 'input' category.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by:
hw/char: shakti_uart: Register device in 'input' category
The category of shakti_uart device is not set. Put it into the 'input' category.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-id: 20210926105003.2716-2-bmeng.cn@gmail.com Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
show more ...
|
47c305f6 | 13-Sep-2021 |
Bin Meng <bmeng.cn@gmail.com> |
hw/char: cadence_uart: Log a guest error when device is unclocked or in reset
We've got SW that expects FSBL (Bootlooader) to setup clocks and resets. It's quite common that users run that SW on QEM
hw/char: cadence_uart: Log a guest error when device is unclocked or in reset
We've got SW that expects FSBL (Bootlooader) to setup clocks and resets. It's quite common that users run that SW on QEMU without FSBL (FSBL typically requires the Xilinx tools installed). That's fine, since users can stil use -device loader to enable clocks etc.
To help folks understand what's going, a log (guest-error) message would be helpful here. In particular with the serial port since things will go very quiet if they get things wrong.
Suggested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-id: 20210901124521.30599-7-bmeng.cn@gmail.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
9834ecaa | 13-Sep-2021 |
Bin Meng <bmeng.cn@gmail.com> |
hw/char: cadence_uart: Ignore access when unclocked or in reset for uart_{read, write}()
Read or write to uart registers when unclocked or in reset should be ignored. Add the check there, and as a r
hw/char: cadence_uart: Ignore access when unclocked or in reset for uart_{read, write}()
Read or write to uart registers when unclocked or in reset should be ignored. Add the check there, and as a result of this, the check in uart_write_tx_fifo() is now unnecessary.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-id: 20210901124521.30599-6-bmeng.cn@gmail.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
7956a8f5 | 13-Sep-2021 |
Bin Meng <bmeng.cn@gmail.com> |
hw/char: cadence_uart: Convert to memop_with_attrs() ops
This converts uart_read() and uart_write() to memop_with_attrs() ops.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Edgar E. Igl
hw/char: cadence_uart: Convert to memop_with_attrs() ops
This converts uart_read() and uart_write() to memop_with_attrs() ops.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-id: 20210901124521.30599-5-bmeng.cn@gmail.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
983f4adf | 13-Sep-2021 |
Bin Meng <bmeng.cn@gmail.com> |
hw/char: cadence_uart: Move clock/reset check to uart_can_receive()
Currently the clock/reset check is done in uart_receive(), but we can move the check to uart_can_receive() which is earlier.
Sign
hw/char: cadence_uart: Move clock/reset check to uart_can_receive()
Currently the clock/reset check is done in uart_receive(), but we can move the check to uart_can_receive() which is earlier.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-id: 20210901124521.30599-4-bmeng.cn@gmail.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
15a2a1a4 | 03-Sep-2021 |
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> |
escc: fix STATUS_SYNC bit in R_STATUS register
After an SDLC "Enter hunt" command has been sent the STATUS_SYNC bit should remain high until the flag byte has been detected. Whilst the ESCC device d
escc: fix STATUS_SYNC bit in R_STATUS register
After an SDLC "Enter hunt" command has been sent the STATUS_SYNC bit should remain high until the flag byte has been detected. Whilst the ESCC device doesn't yet implement SDLC mode, without this change the active low STATUS_SYNC is constantly asserted causing the MacOS OpenTransport extension to hang on startup as it thinks it is constantly receiving LocalTalk responses during its initial negotiation phase.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20210903113223.19551-10-mark.cave-ayland@ilande.co.uk> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
show more ...
|
99b0f058 | 03-Sep-2021 |
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> |
escc: re-use escc_reset_chn() for soft reset
This removes duplication of the internal device state initialisation between device reset and soft reset.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayl
escc: re-use escc_reset_chn() for soft reset
This removes duplication of the internal device state initialisation between device reset and soft reset.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20210903113223.19551-9-mark.cave-ayland@ilande.co.uk> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
show more ...
|
a04ca92a | 03-Sep-2021 |
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> |
escc: remove register changes from escc_reset_chn()
Now that register values at reset are handled elsewhere for all of device reset, soft reset and hard reset, escc_reset_chn() only needs to handle
escc: remove register changes from escc_reset_chn()
Now that register values at reset are handled elsewhere for all of device reset, soft reset and hard reset, escc_reset_chn() only needs to handle initialisation of internal device state.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20210903113223.19551-8-mark.cave-ayland@ilande.co.uk> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
show more ...
|
160509ae | 03-Sep-2021 |
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> |
escc: implement hard reset as described in the datasheet
The hardware reset differs from a device reset in that it only changes the contents of specific registers. Remove the code that resets all th
escc: implement hard reset as described in the datasheet
The hardware reset differs from a device reset in that it only changes the contents of specific registers. Remove the code that resets all the registers to zero during hardware reset and implement the default values using the existing soft reset code with the additional changes listed in the table in the "Z85C30 Reset" section.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20210903113223.19551-7-mark.cave-ayland@ilande.co.uk> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
show more ...
|
1f476e78 | 03-Sep-2021 |
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> |
escc: implement soft reset as described in the datasheet
The software reset differs from a device reset in that it only changes the contents of specific registers. Remove the code that resets all th
escc: implement soft reset as described in the datasheet
The software reset differs from a device reset in that it only changes the contents of specific registers. Remove the code that resets all the registers to zero during soft reset and implement the default values listed in the table in the "Z85C30 Reset" section.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20210903113223.19551-6-mark.cave-ayland@ilande.co.uk> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
show more ...
|
bf4fbb69 | 03-Sep-2021 |
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> |
escc: introduce escc_hard_reset_chn() for hardware reset
This new hardware reset function is to be called for both channels when the hardware reset bit is written to register WR9. Its initial implem
escc: introduce escc_hard_reset_chn() for hardware reset
This new hardware reset function is to be called for both channels when the hardware reset bit is written to register WR9. Its initial implementation is the same as the existing escc_reset_chn() function used for device reset.
Add a new trace event when the guest initiates a hard reset via the WR9 register to help diagnose guest reset issues.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20210903113223.19551-5-mark.cave-ayland@ilande.co.uk> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
show more ...
|
8e8aa965 | 03-Sep-2021 |
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> |
escc: introduce escc_soft_reset_chn() for software reset
This new software reset function is to be called when the appropriate channel software reset bit is written to register WR9. Its initial impl
escc: introduce escc_soft_reset_chn() for software reset
This new software reset function is to be called when the appropriate channel software reset bit is written to register WR9. Its initial implementation is the same as the existing escc_reset_chn() function used for device reset.
Add a new trace event when the guest initiates a soft reset via the WR9 register to help diagnose guest reset issues.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20210903113223.19551-4-mark.cave-ayland@ilande.co.uk> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
show more ...
|
9d248a4b | 03-Sep-2021 |
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> |
escc: reset register values to zero in escc_reset()
This is to ensure that a device reset always returns the ESCC to a known state.
Note that this is currently redundant with the same code in escc_
escc: reset register values to zero in escc_reset()
This is to ensure that a device reset always returns the ESCC to a known state.
Note that this is currently redundant with the same code in escc_reset_chn() but that will change shortly.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20210903113223.19551-3-mark.cave-ayland@ilande.co.uk> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
show more ...
|
bdc36ce6 | 18-Jun-2021 |
Alistair Francis <alistair.francis@wdc.com> |
hw/char/ibex_uart: Make the register layout private
We don't need to expose the register layout in the public header, so don't.
Signed-off-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-b
hw/char/ibex_uart: Make the register layout private
We don't need to expose the register layout in the public header, so don't.
Signed-off-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Message-id: c437f570b2b30ab4170387a3ba2fad7d116a4986.1624001156.git.alistair.francis@wdc.com
show more ...
|
6ee7ba1b | 16-Jun-2021 |
Lukas Jünger <lukas.juenger@greensocs.com> |
hw/char: QOMify sifive_uart
This QOMifies the SiFive UART model. Migration and reset have been implemented.
Signed-off-by: Lukas Jünger <lukas.juenger@greensocs.com> Reviewed-by: Bin Meng <bmeng.cn
hw/char: QOMify sifive_uart
This QOMifies the SiFive UART model. Migration and reset have been implemented.
Signed-off-by: Lukas Jünger <lukas.juenger@greensocs.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-id: 20210616092326.59639-3-lukas.juenger@greensocs.com Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
show more ...
|