RX channels alignment

I don’t have access to exact sources right now. Here are my routines as i remember them.

In limesuite SoapyLMS7/Settings.cpp

unsigned SoapyLMS7::transactSPI(const int addr, const unsigned data, const size_t /*numBits*/)
{
    uint32_t input = data;
    uint32_t readback = 0;
    int st;
	if((addr>>15)&1)//write
		st	= _conn->TransactSPI(addr, &input, 0, 1);
	else
		st	= _conn->TransactSPI(addr, &input, &readback, 1);
	
	
    if (st != 0) throw std::runtime_error(
        "SoapyLMS7::transactSPI("+std::to_string(addr)+") FAIL");
    return readback;
}

In my code

void MyClass::writeReg(int addr, int data){
	device->transactSPI(addr|(1<<15),data,0);
}

int MyClass::readReg(int addr){
	int ret=device->transactSPI(addr,0,0);
	return ret;
}

void MyClass::alignChannels(){
int reg=0;
//1. Disable clock generator, set EN_G_CGEN 0x0086[0]=0
reg=readReg(0x86);
reg&=~(1<<0);
writeReg(0x86,reg);
//2. Reset RxTSP logics by toggling(1->0->1) 0x0020[9] LRST_RX_A, 0x0020[11] LRST_RX_B
reg=readReg(0x20);
reg&=~((1<<9)|(1<<11));
writeReg(0x20,reg);
reg|=((1<<9)|(1<<11));
writeReg(0x20,reg);
//3. Enable clock generator, set EN_G_CGEN 0x0086[0]=1
reg=readReg(0x86);
reg|=(1<<0);
writeReg(0x86,reg);
}

I will post original sources later today. Reading and writting to registers works correctly.