reg_val = UMCTL2_REG_GET(0x2c000300);
reg_val |= ((0xff<<0)|(1<<20)|(1<<29));
UMCTL2_REG_SET(0x2c000300,reg_val);
reg_set_bits(0x2c000000 ,0x3<< 0,0x3<<0);
reg_set_bits(0x2c000000 ,0x1<< 0,0x3<<0);
reg_set_bits(0x2c000004 ,0xffffffff<< 0,0xffffffff<<0);
reg_set_bits(0x2c000008 ,0x1<< 0,0xffffffff<<0);
reg_val = UMCTL2_REG_GET(0x2c700000);
reg_val |= ((1<<31)|(7<<20)|(0x1ff<<0)|(1<10));
UMCTL2_REG_SET(0x2c700000,reg_val);
reg_val = UMCTL2_REG_GET(0x2c700004);
reg_val |= ((7<<5)|(0xf<<0));
UMCTL2_REG_SET(0x2c700004,reg_val);
reg_val = UMCTL2_REG_GET(0x2c700008);
reg_val |= ((0xf<<0));
UMCTL2_REG_SET(0x2c700008,reg_val);
reg_val = UMCTL2_REG_GET(0x2c70000c);
reg_val |= 0x1;
UMCTL2_REG_SET(0x2c70000c,reg_val);
reg_val = UMCTL2_REG_GET(0x2c700010);
reg_val |= 0x1;
UMCTL2_REG_SET(0x2c700010,reg_val);
reg_val = UMCTL2_REG_GET(0x2c700014);
reg_val |= 0x1;
UMCTL2_REG_SET(0x2c700014,reg_val);
reg_val = UMCTL2_REG_GET(0x2c700018);
reg_val |= 0x1;
UMCTL2_REG_SET(0x2c700018,reg_val);
reg_val = UMCTL2_REG_GET(0x2c70001c);
reg_val |= 0x1;
UMCTL2_REG_SET(0x2c70001c,reg_val);
reg_val = UMCTL2_REG_GET(0x2c700020);
reg_val |= 0x1;
UMCTL2_REG_SET(0x2c700020,reg_val);
reg_val = UMCTL2_REG_GET(0x2c700024);
reg_val |= 0x1;
UMCTL2_REG_SET(0x2c700024,reg_val);
https://blog.csdn.net/u014470361/article/details/80060701