powerpc: Add support for PORTA sor and PORTB odr registers
PATCH 1/1 powerpc: Add support for PORTA sor and PORTB odr registers
PORTA has an so register and PORTB had an odr register, as well. However, the PORTB odr register is only 16bit.
Signed-off-by Jochen Friedrich <[email protected]>
---arch/powerpc/sysdev/commproc.c | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
arch/powerpc/sysdev/commproc.c +0 -0
@@ -438,6 +438,13 @@ static void cpm1_set_pin32(int port, int pin, int flags)
else clrbits32(&iop->par, pin);
+ if (port == CPM_PORTB) {
+ if (flags & CPM_PIN_OPENDRAIN)
+ setbits16(&mpc8xx_immr->im_cpm.cp_pbodr, pin);
+ else
+ clrbits16(&mpc8xx_immr->im_cpm.cp_pbodr, pin);
+ }
+
if (port == CPM_PORTE) {
if (flags & CPM_PIN_SECONDARY)
setbits32(&iop->sor, pin);
@@ -471,7 +478,7 @@ static void cpm1_set_pin16(int port, int pin, int flags)
else
clrbits16(&iop->par, pin);- if (port == CPM_PORTC) {
+ if ((port == CPM_PORTA) || (port == CPM_PORTC)) {
if (flags & CPM_PIN_SECONDARY)
setbits16(&iop->sor, pin);
elseSignature · 1 line
1.5.3.5
Quoted 2 lines · Jochen Friedrich
PORTA has an so register and PORTB had an odr register, as well. However, the PORTB odr register is only 16bit.
Which 8xx chip has a so register on port A? I checked the 860, 866, 885, and 823 manuals and didn't see one.
-Scott