xref: /rk3399_rockchip-uboot/arch/arm/include/asm/arch-stv0991/stv0991_creg.h (revision f448c5d3200372fa73f340144d013fdecf4e2f1f)
19fa32b12SVikas Manocha /*
29fa32b12SVikas Manocha  * (C) Copyright 2014
39fa32b12SVikas Manocha  * Vikas Manocha, ST Micoelectronics, vikas.manocha@st.com
49fa32b12SVikas Manocha  *
59fa32b12SVikas Manocha  * SPDX-License-Identifier:	GPL-2.0+
69fa32b12SVikas Manocha  */
79fa32b12SVikas Manocha 
89fa32b12SVikas Manocha #ifndef _STV0991_CREG_H
99fa32b12SVikas Manocha #define _STV0991_CREG_H
109fa32b12SVikas Manocha 
119fa32b12SVikas Manocha struct stv0991_creg {
129fa32b12SVikas Manocha 	u32 version;		/* offset 0x0 */
139fa32b12SVikas Manocha 	u32 hdpctl;		/* offset 0x4 */
149fa32b12SVikas Manocha 	u32 hdpval;		/* offset 0x8 */
159fa32b12SVikas Manocha 	u32 hdpgposet;		/* offset 0xc */
169fa32b12SVikas Manocha 	u32 hdpgpoclr;		/* offset 0x10 */
179fa32b12SVikas Manocha 	u32 hdpgpoval;		/* offset 0x14 */
189fa32b12SVikas Manocha 	u32 stm_mux;		/* offset 0x18 */
199fa32b12SVikas Manocha 	u32 sysctrl_1;		/* offset 0x1c */
209fa32b12SVikas Manocha 	u32 sysctrl_2;		/* offset 0x20 */
219fa32b12SVikas Manocha 	u32 sysctrl_3;		/* offset 0x24 */
229fa32b12SVikas Manocha 	u32 sysctrl_4;		/* offset 0x28 */
239fa32b12SVikas Manocha 	u32 reserved_1[0x35];	/* offset 0x2C-0xFC */
249fa32b12SVikas Manocha 	u32 mux1;		/* offset 0x100 */
259fa32b12SVikas Manocha 	u32 mux2;		/* offset 0x104 */
269fa32b12SVikas Manocha 	u32 mux3;		/* offset 0x108 */
279fa32b12SVikas Manocha 	u32 mux4;		/* offset 0x10c */
289fa32b12SVikas Manocha 	u32 mux5;		/* offset 0x110 */
299fa32b12SVikas Manocha 	u32 mux6;		/* offset 0x114 */
309fa32b12SVikas Manocha 	u32 mux7;		/* offset 0x118 */
319fa32b12SVikas Manocha 	u32 mux8;		/* offset 0x11c */
329fa32b12SVikas Manocha 	u32 mux9;		/* offset 0x120 */
339fa32b12SVikas Manocha 	u32 mux10;		/* offset 0x124 */
349fa32b12SVikas Manocha 	u32 mux11;		/* offset 0x128 */
359fa32b12SVikas Manocha 	u32 mux12;		/* offset 0x12c */
369fa32b12SVikas Manocha 	u32 mux13;		/* offset 0x130 */
379fa32b12SVikas Manocha 	u32 reserved_2[0x33];	/* offset 0x134-0x1FC */
389fa32b12SVikas Manocha 	u32 cfg_pad1;		/* offset 0x200 */
399fa32b12SVikas Manocha 	u32 cfg_pad2;		/* offset 0x204 */
409fa32b12SVikas Manocha 	u32 cfg_pad3;		/* offset 0x208 */
419fa32b12SVikas Manocha 	u32 cfg_pad4;		/* offset 0x20c */
429fa32b12SVikas Manocha 	u32 cfg_pad5;		/* offset 0x210 */
439fa32b12SVikas Manocha 	u32 cfg_pad6;		/* offset 0x214 */
449fa32b12SVikas Manocha 	u32 cfg_pad7;		/* offset 0x218 */
459fa32b12SVikas Manocha 	u32 reserved_3[0x39];	/* offset 0x21C-0x2FC */
469fa32b12SVikas Manocha 	u32 vdd_pad1;		/* offset 0x300 */
479fa32b12SVikas Manocha 	u32 vdd_pad2;		/* offset 0x304 */
489fa32b12SVikas Manocha 	u32 reserved_4[0x3e];	/* offset 0x308-0x3FC */
499fa32b12SVikas Manocha 	u32 vdd_comp1;		/* offset 0x400 */
509fa32b12SVikas Manocha };
519fa32b12SVikas Manocha 
52*54afb500SVikas Manocha /* CREG MUX 13 register */
53*54afb500SVikas Manocha #define FLASH_CS_NC_SHIFT	4
54*54afb500SVikas Manocha #define FLASH_CS_NC_MASK	~(7 << FLASH_CS_NC_SHIFT)
55*54afb500SVikas Manocha #define CFG_FLASH_CS_NC		(0 << FLASH_CS_NC_SHIFT)
56*54afb500SVikas Manocha 
57*54afb500SVikas Manocha #define FLASH_CLK_SHIFT		0
58*54afb500SVikas Manocha #define FLASH_CLK_MASK		~(7 << FLASH_CLK_SHIFT)
59*54afb500SVikas Manocha #define CFG_FLASH_CLK		(0 << FLASH_CLK_SHIFT)
60*54afb500SVikas Manocha 
619fa32b12SVikas Manocha /* CREG MUX 12 register */
629fa32b12SVikas Manocha #define GPIOC_30_MUX_SHIFT	24
639fa32b12SVikas Manocha #define GPIOC_30_MUX_MASK	~(1 << GPIOC_30_MUX_SHIFT)
649fa32b12SVikas Manocha #define CFG_GPIOC_30_UART_TX	(1 << GPIOC_30_MUX_SHIFT)
659fa32b12SVikas Manocha 
669fa32b12SVikas Manocha #define GPIOC_31_MUX_SHIFT	28
679fa32b12SVikas Manocha #define GPIOC_31_MUX_MASK	~(1 << GPIOC_31_MUX_SHIFT)
689fa32b12SVikas Manocha #define CFG_GPIOC_31_UART_RX	(1 << GPIOC_31_MUX_SHIFT)
699fa32b12SVikas Manocha 
709fa32b12SVikas Manocha /* CREG MUX 7 register */
719fa32b12SVikas Manocha #define GPIOB_16_MUX_SHIFT	0
729fa32b12SVikas Manocha #define GPIOB_16_MUX_MASK	~(1 << GPIOB_16_MUX_SHIFT)
739fa32b12SVikas Manocha #define CFG_GPIOB_16_UART_TX	(1 << GPIOB_16_MUX_SHIFT)
749fa32b12SVikas Manocha 
759fa32b12SVikas Manocha #define GPIOB_17_MUX_SHIFT	4
769fa32b12SVikas Manocha #define GPIOB_17_MUX_MASK	~(1 << GPIOB_17_MUX_SHIFT)
779fa32b12SVikas Manocha #define CFG_GPIOB_17_UART_RX	(1 << GPIOB_17_MUX_SHIFT)
789fa32b12SVikas Manocha 
799fa32b12SVikas Manocha /* CREG CFG_PAD6 register */
809fa32b12SVikas Manocha 
819fa32b12SVikas Manocha #define GPIOC_31_MODE_SHIFT	30
829fa32b12SVikas Manocha #define GPIOC_31_MODE_MASK	~(1 << GPIOC_31_MODE_SHIFT)
839fa32b12SVikas Manocha #define CFG_GPIOC_31_MODE_OD	(0 << GPIOC_31_MODE_SHIFT)
849fa32b12SVikas Manocha #define CFG_GPIOC_31_MODE_PP	(1 << GPIOC_31_MODE_SHIFT)
859fa32b12SVikas Manocha 
869fa32b12SVikas Manocha #define GPIOC_30_MODE_SHIFT	28
879fa32b12SVikas Manocha #define GPIOC_30_MODE_MASK	~(1 << GPIOC_30_MODE_SHIFT)
889fa32b12SVikas Manocha #define CFG_GPIOC_30_MODE_LOW	(0 << GPIOC_30_MODE_SHIFT)
899fa32b12SVikas Manocha #define CFG_GPIOC_30_MODE_HIGH	(1 << GPIOC_30_MODE_SHIFT)
909fa32b12SVikas Manocha 
912ce4eaf4SVikas Manocha /* CREG Ethernet pad config */
922ce4eaf4SVikas Manocha 
932ce4eaf4SVikas Manocha #define VDD_ETH_PS_1V8		0
942ce4eaf4SVikas Manocha #define VDD_ETH_PS_2V5		2
952ce4eaf4SVikas Manocha #define VDD_ETH_PS_3V3		3
962ce4eaf4SVikas Manocha #define VDD_ETH_PS_MASK		0x3
972ce4eaf4SVikas Manocha 
982ce4eaf4SVikas Manocha #define VDD_ETH_PS_SHIFT	12
992ce4eaf4SVikas Manocha #define ETH_VDD_CFG		(VDD_ETH_PS_1V8 << VDD_ETH_PS_SHIFT)
1002ce4eaf4SVikas Manocha 
1012ce4eaf4SVikas Manocha #define VDD_ETH_M_PS_SHIFT	28
1022ce4eaf4SVikas Manocha #define ETH_M_VDD_CFG		(VDD_ETH_PS_1V8 << VDD_ETH_M_PS_SHIFT)
1032ce4eaf4SVikas Manocha 
1049fa32b12SVikas Manocha #endif
105