Commit e59b008e authored by Florian Fainelli's avatar Florian Fainelli Committed by John Crispin

MIPS: BCM63XX: fix BCM6345 clocks bits

BCM6345 has an intermediate 16-bits wide test control register between the
peripheral identifier register, and its clock control register is only 16-bits
wide contrary to other platforms where it is 32-bits wide. By shifting all
clocks bits by 16-bits to the left we ensure they get written to the proper
clock control register, without adding specific BCM6345 handling in the clock
code.
Signed-off-by: default avatarFlorian Fainelli <florian@openwrt.org>
Patchwork: http://patchwork.linux-mips.org/patch/4555/Signed-off-by: default avatarJohn Crispin <blogic@openwrt.org>
parent 0224cde2
...@@ -53,13 +53,18 @@ ...@@ -53,13 +53,18 @@
CKCTL_6338_SAR_EN | \ CKCTL_6338_SAR_EN | \
CKCTL_6338_SPI_EN) CKCTL_6338_SPI_EN)
#define CKCTL_6345_CPU_EN (1 << 0) /* BCM6345 clock bits are shifted by 16 on the left, because of the test
#define CKCTL_6345_BUS_EN (1 << 1) * control register which is 16-bits wide. That way we do not have any
#define CKCTL_6345_EBI_EN (1 << 2) * specific BCM6345 code for handling clocks, and writing 0 to the test
#define CKCTL_6345_UART_EN (1 << 3) * control register is fine.
#define CKCTL_6345_ADSLPHY_EN (1 << 4) */
#define CKCTL_6345_ENET_EN (1 << 7) #define CKCTL_6345_CPU_EN (1 << 16)
#define CKCTL_6345_USBH_EN (1 << 8) #define CKCTL_6345_BUS_EN (1 << 17)
#define CKCTL_6345_EBI_EN (1 << 18)
#define CKCTL_6345_UART_EN (1 << 19)
#define CKCTL_6345_ADSLPHY_EN (1 << 20)
#define CKCTL_6345_ENET_EN (1 << 23)
#define CKCTL_6345_USBH_EN (1 << 24)
#define CKCTL_6345_ALL_SAFE_EN (CKCTL_6345_ENET_EN | \ #define CKCTL_6345_ALL_SAFE_EN (CKCTL_6345_ENET_EN | \
CKCTL_6345_USBH_EN | \ CKCTL_6345_USBH_EN | \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment