11 Mar, 2019
4 commits
-
Use the i8254 sound driver to support creating simple beeps.
Signed-off-by: Bin Meng
Reviewed-by: Simon Glass -
This is currently missing and without it the i8254 beeper driver
won't work.Signed-off-by: Bin Meng
Reviewed-by: Simon Glass -
The pc speaker driven by the i8254 is generic enough to deserve
a single dtsi file to be included by boards that use it.Signed-off-by: Bin Meng
Reviewed-by: Simon Glass -
The i8254 timer control IO port (0x43) should be setup correctly
by using PIT counter 2 to generate beeps, however in U-Boot other
codes like TSC driver utilizes PIT for TSC frequency calibration
and configures the counter 2 to a different mode that does not
beep. Fix this by always ensuring the PIT counter 2 is correctly
initialized so that the i8254 beeper driver works as expected.Signed-off-by: Bin Meng
Reviewed-by: Simon Glass
10 Mar, 2019
5 commits
-
Intel Edison has three UART ports, i.e.
port 0 - Bluetooth
port 1 - auxiliary, available for general purpose use
port 2 - debugging, usually console output is hereEnable all of them for future use.
Signed-off-by: Andy Shevchenko
Reviewed-by: Bin Meng -
The console is actually serial #2. When we would like to enable other ports,
this would be not okay to mess up with the ordering.Thus, fix the number of default console interface to be 2.
Signed-off-by: Andy Shevchenko
Reviewed-by: Bin Meng -
We may not do an assumption that current console device is always a first
of UCLASS_SERIAL one.For example, on properly described Intel Edison board the console UART
is a third one.Use current serial device as described in global data.
Fixes: a61cbad78e67 ("dm: serial: Adjust serial_getinfo() to use proper API")
Cc: Simon Glass
Signed-off-by: Andy Shevchenko
Reviewed-by: Bin Meng -
Intel Tangier SoC has a general purpose DMA which can serve to speed up
communications on SPI and I2C serial buses.Provide DMA descriptors to utilize this capability in the future.
Note, I2C6, which is available to user, has no DMA request lines connected.
Signed-off-by: Andy Shevchenko
Reviewed-by: Bin Meng -
Intel Tangier SoC has a general purpose DMA which can serve to speed up
communications on SPI and I2C serial buses.Provide DMA descriptors to utilize this capability in the future.
Signed-off-by: Andy Shevchenko
Reviewed-by: Bin Meng
20 Feb, 2019
8 commits
-
Enable sound on samus using the broadwell I2S and an RT5677 audio codec.
Reviewed-by: Bin Meng
Signed-off-by: Simon Glass -
Add support for initing the I2C device and ADSP on broadwell. These are
needed for sound to work.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng -
At present the pinctrl probes the PCH but since it only uses it to obtain
a PCI address, this is no necessary. Avoiding this fixes one of the two
co-dependent loops in broadwell.This driver really should be a proper pinctrl driver, but for now it
remains a syscon device.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng -
The Application Digital Signal Processor is used for sound processing with
broadwell. Add a driver to support this.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng -
Adjust the code to allow beeping at different frequencies, using a
calculated value for timer 2.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng -
Add sound support for link, using the HDA codec implementation.
Signed-off-by: Simon Glass
Reviewed-by: Bin Meng -
Add a way check to whether HD audio is enabled. Use ioctl() to avoid
adding too many unusual operations to PCH.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng -
At present these macros give warnings on 64-bit machines and do not
correctly do 32-bit accesses. Update them to use linux types.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng
13 Feb, 2019
1 commit
-
arch/x86/lib/string.c contains assembler implementations of memcpy(),
memmove(), and memset() written for i386. Don't use it on x86_64.Signed-off-by: Heinrich Schuchardt
Signed-off-by: Alexander Graf
12 Feb, 2019
4 commits
-
Basin Cove PMIC is connected to I2C0 bus which is hidden from the OS
and access is going via SCU device, enumerated via PCI.For now, we add just a minimum support of PMIC device to allow enabling,
e.g. USB OTG, in the OS.Signed-off-by: Andy Shevchenko
Acked-by: Bin Meng -
It is unnecessary to use a RAM version GDT for 64-bit U-Boot proper.
In fact we can just use the ROM version directly, which not only
eliminates the risk of being overwritten by application, but also
removes the complexity of patching the cpu_call64().Signed-off-by: Bin Meng
Reviewed-by: Simon Glass -
Before jumping to 64-bit U-Boot proper, SPL copies the cpu_call64()
function to a hardcoded address 0x3000000. This can have potential
conflicts with application usage. Switch the destination address
to be allocated from the heap to avoid such risk.Signed-off-by: Bin Meng
Reviewed-by: Simon Glass -
At present the 4-level page table base address for 64-bit U-Boot
proper is assigned an address that conflicts with CONFIG_LOADADDR.
Change it to an address within the low memory range instead.Fixes crashes seen when 'dhcp' on QEMU x86_64 with
"-net nic -net user,tftp=.,bootfile=u-boot".Reported-by: Alexander Graf
Signed-off-by: Bin Meng
Tested-by: Heinrich Schuchardt
Reviewed-by: Simon Glass
27 Jan, 2019
1 commit
-
Make use of "IMAGE_MAX_SIZE" and "IMAGE_TEXT_BASE" rather than
CONFIG_SPL_MAX_SIZE and CONFIG_SPL_TEXT_BASE. This lets us re-use the
same script for both SPL and TPL. Add logic to scripts/Makefile.spl to
pass in the right value when preprocessing the script.Cc: Stefano Babic
Cc: Fabio Estevam
Cc: Jagan Teki
Cc: Maxime Ripard
Cc: Andreas Bießmann
Cc: Philipp Tomsich
Cc: Michal Simek
Cc: Daniel Schwierzeck
Cc: York Sun
Cc: Bin Meng
Cc: Heiko Schocher
Cc: Adam Ford
Signed-off-by: Tom Rini
Reviewed-by: Daniel Schwierzeck
Tested-by: Daniel Schwierzeck
Tested-by: Adam Ford #da850evm & omap3_logic_somlv
Reviewed-by: Simon Goldschmidt
18 Jan, 2019
1 commit
-
Signed-off-by: Chris Packham
Reviewed-by: Simon Glass
15 Jan, 2019
2 commits
-
All driver-model functions should have a device as the first parameter.
Update this function accordingly.Signed-off-by: Simon Glass
Reviewed-by: Andy Shevchenko -
All driver-model functions should have a device as the first parameter.
Update this function accordingly.Signed-off-by: Simon Glass
Reviewed-by: Andy Shevchenko
10 Dec, 2018
7 commits
-
Up until now the call to initialize the USB subsystem was hardcoded
for U-Boot running as an EFI payload. This was used to enable the
use of a USB keyboard in the U-Boot shell. However not all boards
might need this functionality. As initializing the USB subsystem can
take a considerable amount of time (several seconds on some boards),
we now initialize the USB subsystem only if U-Boot is configured to
use USB keyboards.Signed-off-by: Bin Meng
Reviewed-by: Christian Gmeiner -
Up until now the call to initialize the USB subsystem was hardcoded
for U-Boot running as a coreboot payload. This was used to enable
the use of a USB keyboard in the U-Boot shell. However not all boards
might need this functionality. As initializing the USB subsystem can
take a considerable amount of time (several seconds on some boards),
we now initialize the USB subsystem only if U-Boot is configured to
use USB keyboards.Signed-off-by: Thomas RIENOESSL
Reviewed-by: Bin Meng
Reviewed-by: Christian Gmeiner -
At present the Kconfig options (CONFIG_I8259_PIC and CONFIG_APIC)
do not include a prompt message, which makes it impossible to
be disabled from a board defconfig file.Signed-off-by: Bin Meng
Reviewed-by: Simon Glass -
mask_irq(), unmask_irq() and specific_eoi() are provided by the
i8259 PIC driver and should be wrapped with CONFIG_I8259_PIC.Signed-off-by: Bin Meng
Reviewed-by: Simon Glass
Tested-by: Hannes Schmelzer -
There are still systems running which do not have any LAPIC or even
IOAPIC. Responsible MSRs for those do not exist and the systems are
crashing on trying to setup LAPIC.This commit makes the APIC stuff able to switch off for those boards
which dont' have an LAPIC / IOAPIC.Signed-off-by: Hannes Schmelzer
Reviewed-by: Bin Meng -
Make the indentation aligned with what used elsewhere in U-Boot.
No functional change intended.
Signed-off-by: Andy Shevchenko
Reviewed-by: Bin Meng -
Intel Tangier SoC has RTC inside. So, enable it in ACPI.
Signed-off-by: Andy Shevchenko
Reviewed-by: Bin Meng
05 Dec, 2018
2 commits
-
Microsoft specifies a SPCR (Serial Port Console Redirection Table) [1].
Let's provide it in U-Boot.[1]: https://docs.microsoft.com/en-us/windows-hardware/drivers/serports/serial-port-console-redirection-table
Signed-off-by: Andy Shevchenko
Reviewed-by: Simon Glass -
Add SPCR table description as it provided in Linux kernel.
Port subtype for ACPI_DBG2_SERIAL_PORT is used as an interface type in SPCR.
Thus, provide a set of definitions to be utilized later.Signed-off-by: Andy Shevchenko
Reviewed-by: Bin Meng
03 Dec, 2018
2 commits
-
Per Microsoft PE Format documentation [1], PointerToSymbolTable and
NumberOfSymbols should be zero for an image in the COFF file header.
Currently U-Boot is generating u-boot-app.efi in which these two
members are not zero.This updates the build rules to tell linker to remove the symbol
table completely so that we can generate compliant *.efi images.[1] https://docs.microsoft.com/zh-cn/windows/desktop/Debug/pe-format
Signed-off-by: Bin Meng
Reviewed-by: Heinrich Schuchardt
Signed-off-by: Alexander Graf -
Per Microsoft PE Format documentation [1], PointerToSymbolTable and
NumberOfSymbols should be zero for an image in the COFF file header.
Currently U-Boot is generating u-boot-payload.efi image in which
these two members are not zero.This updates the build rules to tell linker to remove the symbol
table completely so that we can generate compliant *.efi images.[1] https://docs.microsoft.com/zh-cn/windows/desktop/Debug/pe-format
Reported-by: Heinrich Schuchardt
Signed-off-by: Bin Meng
Reviewed-by: Heinrich Schuchardt
Signed-off-by: Alexander Graf
15 Nov, 2018
3 commits
-
It turns out commit c0434407b595 broke some boards which have DM CPU
driver with CONFIG_DISPLAY_CPUINFO option on. These boards just fail
to boot when print_cpuinfo() is called during boot.Fixes: c0434407b595 ("board_f: Use static print_cpuinfo if CONFIG_CPU is active")
Reported-by: Stefan Roese
Signed-off-by: Bin Meng
Reviewed-by: Stefan Roese
Tested-by: Stefan Roese -
When a driver declares DM_FLAG_PRE_RELOC flag, it wishes to be
bound before relocation. However due to a bug in the DM core,
the flag only takes effect when devices are statically declared
via U_BOOT_DEVICE(). This bug has been fixed recently by commit
"dm: core: Respect drivers with the DM_FLAG_PRE_RELOC flag in
lists_bind_fdt()", but with the fix, it has a side effect that
all existing drivers that declared DM_FLAG_PRE_RELOC flag will
be bound before relocation now. This may expose potential boot
failure on some boards due to insufficient memory during the
pre-relocation stage.To mitigate this potential impact, the following changes are
implemented:- Remove DM_FLAG_PRE_RELOC flag in the driver, if the driver
only supports configuration from device tree (OF_CONTROL)
- Keep DM_FLAG_PRE_RELOC flag in the driver only if the device
is statically declared via U_BOOT_DEVICE()
- Surround DM_FLAG_PRE_RELOC flag with OF_CONTROL check, for
drivers that support both statically declared devices and
configuration from device treeSigned-off-by: Bin Meng
Reviewed-by: Simon Glass -
At present the generic io{read,write}{8,16,32} routines only support
MMIO access. With architecture like x86 that has a separate IO space,
these routines cannot be used to access I/O ports.Implement x86-specific version to support both PIO and MMIO access,
so that drivers for multiple architectures can use these accessors
without the need to know whether it's MMIO or PIO.These are ported from Linux kernel lib/iomap.c, with slight changes.
Signed-off-by: Bin Meng
Reviewed-by: Simon Glass