Commit graph

14 commits

Author SHA1 Message Date
Michal Meloun
e4ef4c5d66 extres/phy: Add mode setting function.
Modern multi-protocol phys are capable of supporting multiple different
protocols. Add a method for mode (and/or its variants) setting.

Discused with:	ganbold, manu, andrew
MFC after:	3 weeks
2023-01-03 10:19:29 +01:00
Ganbold Tsagaankhuu
5cfacab132 Revert "Enable setting the phy id."
This reverts commit 6692670f58.
2022-12-19 15:19:57 +00:00
Søren Schmidt
6692670f58 Enable setting the phy id.
It is needed for the RK356X combo phy.
2022-12-19 13:08:42 +00:00
Andrew Turner
78e60ba04a Only include phydev_if.h when needed
We only need to include phydev_if.h in phy.c when FDT is enabled and
don't need it at all in phy_usb.c.

Sponsored by:	Innovate UK
2022-10-28 18:31:55 +01:00
Andrew Turner
754358108c Include sys/systm.h in phy_usb.c for KASSERT
Rather than depending on header pollution include systm.h directly.

Sponsored by:	Innovate UK
2022-10-28 18:31:55 +01:00
Andrew Turner
89a9a13c1a Remove unneeded FDT checks from phydev and regdev
They are only ever built when FDT is enabled so there is no need to
check for it in the files.

Sponsored by:	The FreeBSD Foundation
2022-10-04 17:37:37 +01:00
Michal Meloun
2dd13cf6a4 extres: Unify error codes for <foo>_get_by_ofw_property() methods.
Return:
 - ENOENT if requested property doesn't exist
 - ENODEV if producer device is not (yet) attached
 - ENXIO otherwise

MFC after:	2 weeks
2019-03-19 14:30:54 +00:00
Michal Meloun
1289ca623e Properly define and declare phynode_topo_lock,
it should be single global variable.

X-MFC with:	r340845
Noticed by:	phynode_topo_lock
2019-01-27 15:50:36 +00:00
Emmanuel Vadot
f9f020a409 Derive PHY class to new one specialized for USB PHY functions.
Submitted by:	mmel
2018-11-23 19:43:18 +00:00
Oleksandr Tymoshenko
f7604b1b27 Align OF_getencprop_alloc API with OF_getencprop and OF_getprop_alloc
Change OF_getencprop_alloc semantics to be combination of malloc and
OF_getencprop and return size of the property, not number of elements
allocated.

For the use cases where number of elements is preferred introduce
OF_getencprop_alloc_multi helper function that copies semantics
of OF_getencprop_alloc prior to this change.

This is to make OF_getencprop_alloc and OF_getencprop_alloc_multi
function signatures consistent with OF_getencprop_alloc and
OF_getencprop_alloc_multi.

Functionality-wise this patch is mostly rename of OF_getencprop_alloc
to OF_getencprop_alloc_multi except two calls in ofw_bus_setup_iinfo
where 1 was used as a block size.
2018-04-09 22:06:16 +00:00
Michal Meloun
f8759facd2 Convert extres/phy to kobj model.
Similarly as other extres pseudo-drivers, implement phy by using kobj model.
This detaches it from provider device, so single device driver can export
multiple different phys. Additionally, this  allows phy to be subclassed to
more specialized drivers, like is USB OTG phy, or PCIe phy with hot-plug
capability.

Tested by:	manu (previous version, on Allwinner board)
MFC after:	1 month
2018-01-20 17:02:17 +00:00
Michal Meloun
dac935533b EXTRES: Add OF node as argument to all <foo>_get_by_ofw_<bar>() functions.
In some cases, the driver must handle given properties located in
specific OF subnode. Instead of creating duplicate set of function, add
'node' as argument to existing functions, defaulting it to device OF node.

MFC after: 3 weeks
2016-07-10 18:28:15 +00:00
Oleksandr Tymoshenko
f4eefe43b2 Use OF_prop_free instead of direct call to free(9)
Reviewed by:	mmel@
2016-05-14 04:59:36 +00:00
Michal Meloun
4e3d35d76e Add phy framework, a next part of new 'extended resources' family of
support frameworks (i.e. clk/regulators/tsensors/fuses...).

It provides simple unified consumers interface for manipulations with
phy (USB/SATA/PCIe) resources.
2016-03-15 15:31:17 +00:00