Home | History | Annotate | Download | only in sunxi
History log of /src/sys/arch/arm/sunxi/sunxi_debe.c
RevisionDateAuthorComments
 1.18  06-Sep-2025  thorpej Re-factor the console-related code into fdt_console.[ch]
 1.17  02-Feb-2024  andvar s/attachement/attachment/ and s/detachement/detachment/.
 1.16  01-Jan-2022  andvar branches: 1.16.2;
s/coudn/couldn/ and s/couln/couldn/ in comment and log messages.
 1.15  20-Aug-2021  andvar fix various typos in comments and log messages.
 1.14  07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.13  24-Apr-2021  thorpej branches: 1.13.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.12  27-Jan-2021  thorpej branches: 1.12.2;
Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.11  18-Jan-2021  thorpej Remove "struct of_compat_data" and replace its usage with
"struct device_compatible_entry"; they are ABI-compatible.

Fix several "loses const qualifier" bugs encountered during
this conversion.
 1.10  19-Oct-2020  rin branches: 1.10.2;
sunxi_debe_set_videomode(): As byte-swapped framebuffer is now handled by
FDT override, do not configure FB to little-endian format for __ARMEB__.

XXX
This function is not actually called at the moment. IIRC, it worked in
the pre-FDT era. Something went wrong since then...
 1.9  01-Jun-2018  bouyer Defer display hardware reset to pipeline activation. This way, if we have a
pipeline setup which we can't manage, the simple framebuffer will keep working.
 1.8  07-Apr-2018  bouyer Allow the graphic driver to be the kernel's console.
Match either from the allwinner,pipeline entry in the simple-framebuffer
fdt entry, or from console= from the command line.
console=fb0 and console=fb1 selects display backend unit 0 or 1 respectively;
console=fb selects the first activated display backend.
 1.7  05-Apr-2018  jmcneill Remove AWIN_DEBE_FWINIT blocks
 1.6  05-Apr-2018  jmcneill Remove NAWIN_MP blocks (this code was experimental in the original driver and is not worth porting over)
 1.5  03-Apr-2018  bouyer disable all clocks at end of attach function, and re-enable ahb and mod only
in activate function.
enable ram gate (in debe) and video plls (in tcon) only when the video output
is enabled. Saves about 20mw when both video outputs are off.
 1.4  03-Apr-2018  bouyer A10 and A20 should have the same display hardware, so consistenly support
sun4i-a10 the same way as sun7i-a20.
This would need to be tested on a real A10.
 1.3  03-Apr-2018  bouyer work in progress on porting graphics drivers from arm/allwinner to fdt.
sunxidebe: display backend drivers
sunxitcon: lcd controller driver
sunxihdmi: hdmi controller driver
sunxidep: display engine pipeline driver. Its role is only to parse the
fdt display-engine node, and activate de backend drivers based on the
content of allwinner,pipelines

So far HDMI and lvds output works, in dual-framebuffer mode.
It has only been tested on A20. It should be OK on the A10 too, but
will likely need more work for other SoCs.
Console is not handled yet, and it conflicts with the simplefb driver if
it has been activated by u-boot.
 1.2  27-Aug-2017  jmcneill branches: 1.2.2;
Remove the sunxi_debe driver in favour of the more generic simplefb.
 1.1  26-Aug-2017  jmcneill Add a basic sun5i FB driver. This assumes that firmware (U-Boot) has
already setup the chip and re-uses the same settings / FB memory.
 1.2.2.3  25-Jun-2018  pgoyette Sync with HEAD
 1.2.2.2  16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.2.2.1  07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.10.2.1  03-Apr-2021  thorpej Sync with HEAD.
 1.12.2.1  23-Mar-2021  thorpej Convert config_found_ia() call sites where the device only carries
a single interface attribute to bare config_found() calls.
 1.13.8.1  04-Aug-2021  thorpej Adapt to CFARGS().
 1.16.2.1  02-Oct-2022  bouyer Patch from Robert Swindells: start converting the A20 console driver to
drm2.
It builds but panics at boot because of missing helper functions for
debe.

RSS XML Feed