summaryrefslogtreecommitdiff
path: root/sys/dev/uart/uart_cpu_powerpc.c
Commit message (Collapse)AuthorAgeFilesLines
* uart: clean up empty lines in .c and .h filesMateusz Guzik2020-09-011-2/+1
| | | | Notes: svn path=/head/; revision=365142
* sys/dev: further adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-271-0/+2
| | | | | | | | | | | | | | | Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Notes: svn path=/head/; revision=326255
* Check all compatible strings on uart devices in powerpcJustin Hibbits2016-08-281-4/+4
| | | | | | | | | | | | | | Summary: Some device trees put "fsl,ns16650" first in the compatible list. This causes the probe code to choke, even though the device is compatible with ns16650, and has it listed later in the tree. Reviewed by: nwhitehorn MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D7676 Notes: svn path=/head/; revision=304970
* Allow callers of OF_decode_addr to get the size of the found mapping. ThisAndrew Turner2016-02-161-1/+1
| | | | | | | | | | | | | | | | | will allow for code that uses the old fdt_get_range and fdt_regsize functions to find a range, map it, access, then unmap to replace this, up to and including the map, with a call to OF_decode_addr. As this function should only be used in the early boot code the unmap is mostly do document we no longer need the mapping as it's a no-op, at least on arm. Reviewed by: jhibbits Sponsored by: ABT Systems Ltd Differential Revision: https://reviews.freebsd.org/D5258 Notes: svn path=/head/; revision=295662
* Do not fail the low-level device probe simply because the kernelMarcel Moolenaar2014-07-261-4/+3
| | | | | | | | | | | doesn't have support for the Z8530. Embedded PowerPC platforms typically don't. Fail when the device class we actually need is not present. Obtained from: Juniper Networks, Inc. Notes: svn path=/head/; revision=269131
* Real OF systems have an ihandle under /chosen/stdout, not a phandle. UseNathan Whitehorn2013-12-011-2/+2
| | | | | | | the right type. Notes: svn path=/head/; revision=258806
* Make uart_cpu_powerpc work on both FDT and OFW systems. This is the lastNathan Whitehorn2013-12-011-20/+77
| | | | | | | | remaining modification required to build kernels that work with both on PowerPC. Notes: svn path=/head/; revision=258798
* Convert Freescale PowerPC platforms to FDT convention.Rafal Jaworowski2010-07-111-32/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The following systems are affected: - MPC8555CDS - MPC8572DS This overhaul covers the following major changes: - All integrated peripherals drivers for Freescale MPC85XX SoC, which are currently in the FreeBSD source tree are reworked and adjusted so they derive config data out of the device tree blob (instead of hard coded / tabelarized values). - This includes: LBC, PCI / PCI-Express, I2C, DS1553, OpenPIC, TSEC, SEC, QUICC, UART, CFI. - Thanks to the common FDT infrastrucutre (fdtbus, simplebus) we retire ocpbus(4) driver, which was based on hard-coded config data. Note that world for these platforms has to be built WITH_FDT. Reviewed by: imp Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=209908
* Fix serial console on Apple Xserve G5 by falling back to input-device-1Nathan Whitehorn2009-07-231-9/+32
| | | | | | | | | | | | | if input-device is unavailable. The Xserve G5 defaults to using screen/keyboard for output-device/input-device even if these are not installed, and then falls back to serial ports at boot time. Reviewed by: marcel Hardware from: grehan Approved by: re (kib) Notes: svn path=/head/; revision=195831
* Don't use pmap_kextact() when comparing bus handles for Book-E.Marcel Moolenaar2009-04-081-0/+4
| | | | | | | | | | We typically wire translation to devices with TLB1 entries and pmap_kextract() does not know about those and returns 0. This causes false positives (read: all serial ports suddenly become the console). Notes: svn path=/head/; revision=190860
* Add support for 64-bit PowerPC CPUs operating in the 64-bit bridge modeNathan Whitehorn2009-04-041-7/+19
| | | | | | | | | | | | | provided, for example, on the PowerPC 970 (G5), as well as on related CPUs like the POWER3 and POWER4. This also adds support for various built-in hardware found on Apple G5 hardware (e.g. the IBM CPC925 northbridge). Reviewed by: grehan Notes: svn path=/head/; revision=190681
* Initial support for Freescale PowerQUICC III MPC85xx system-on-chip family.Rafal Jaworowski2008-03-031-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The PQ3 is a high performance integrated communications processing system based on the e500 core, which is an embedded RISC processor that implements the 32-bit Book E definition of the PowerPC architecture. For details refer to: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MPC8555E This port was tested and successfully run on the following members of the PQ3 family: MPC8533, MPC8541, MPC8548, MPC8555. The following major integrated peripherals are supported: * On-chip peripherals bus * OpenPIC interrupt controller * UART * Ethernet (TSEC) * Host/PCI bridge * QUICC engine (SCC functionality) This commit brings the main functionality and will be followed by individual drivers that are logically separate from this base. Approved by: cognet (mentor) Obtained from: Juniper, Semihalf MFp4: e500 Notes: svn path=/head/; revision=176771
* Redefine bus_space_tag_t on PowerPC from a 32-bit integral toMarcel Moolenaar2007-12-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | a pointer to struct bus_space. The structure contains function pointers that do the actual bus space access. The reason for this change is that previously all bus space accesses were little endian (i.e. had an explicit byte-swap for multi-byte accesses), because all busses on Macs are little endian. The upcoming support for Book E, and in particular the E500 core, requires support for big-endian busses because all embedded peripherals are in the native byte-order. With this change, there's no distinction between I/O port space and memory mapped I/O. PowerPC doesn't have I/O port space. Busses assign tags based on the byte-order only. For that purpose, two global structures exist (bs_be_tag and bs_le_tag), of which the address can be taken to get a valid tag. Obtained from: Juniper, Semihalf Notes: svn path=/head/; revision=174782
* Don't expose the uart_ops structure directly, but instead haveMarcel Moolenaar2007-04-021-1/+6
| | | | | | | | | | | | | | | it obtained through the uart_class structure. This allows us to declare the uart_class structure as weak and as such allows us to reference it even when it's not compiled-in. It also allows is to get the uart_ops structure by name, which makes it possible to implement the dt tag handling in uart_getenv(). The side-effect of all this is that we're using the uart_class structure more consistently which means that we now also have access to the size of the bus space block needed by the hardware when we map the bus space, eliminating any hardcoding. Notes: svn path=/head/; revision=168281
* Implement uart_cpu_eqres() and uart_cpu_getdev(). This allowsMarcel Moolenaar2006-07-261-3/+56
| | | | | | | FreeBSD to use a serial console, as per the OFW settings. Notes: svn path=/head/; revision=160715
* Allow uart(4) to be built on PowerPC.Marcel Moolenaar2006-03-311-0/+54
Notes: svn path=/head/; revision=157317