* See the GNU General Public License for more details.
*/
-#include <asm/irq.h>
-
#include <linux/version.h>
#include <linux/module.h>
#include <linux/irq.h>
#include "securekey.h"
#include <linux/arm-smccc.h>
-#ifdef CONFIG_ARM64
+#if (defined CONFIG_ARM64) || (defined CONFIG_ARM64_A32)
int aml_is_secure_set(void)
{
*
*/
-#ifdef CONFIG_ARM64
+#if (defined CONFIG_ARM64) || (defined CONFIG_ARM64_A32)
#define AML_D_P_UPGRADE_CHECK (0x80)
#define AML_D_P_IMG_DECRYPT (0x40)
#define AML_DATA_PROCESS (0x820000FF)
case SYS_DAB:
case SYS_TURBO:
case SYS_UNDEFINED:
+#ifdef CONFIG_AMLOGIC_DVB_COMPAT
case SYS_ANALOG:
+#endif
mode = AM_FE_UNKNOWN_N;
PR_INFO("delsys not support!%d=\n", cdelsys);
return 0;
case SYS_DAB:
case SYS_TURBO:
case SYS_UNDEFINED:
+#ifdef CONFIG_AMLOGIC_DVB_COMPAT
case SYS_ANALOG:
+#endif
mode = AM_FE_UNKNOWN_N;
if (get_dtvpll_init_flag()) {
PR_INFO("delsys not support!%d=\n", cdelsys);
};
static struct dvb_frontend_ops aml_dtvdm_txlx_ops = {
+#ifdef CONFIG_AMLOGIC_DVB_COMPAT
.delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B, SYS_DVBC_ANNEX_A, SYS_DVBT,
SYS_ANALOG},
+#else
+ .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B, SYS_DVBC_ANNEX_A, SYS_DVBT},
+#endif
.info = {
/*in aml_fe, it is 'amlogic dvb frontend' */
.name = "amlogic dtv demod txlx",
unsigned long apb_read_reg_high(unsigned long addr)
{
- unsigned long tmp;
-
- tmp = 0;
- return (tmp >> 32) & 0xffffffff;
+ return 0;
}
unsigned long apb_read_reg(unsigned long addr)
unsigned int fe_modify = 0x4d6a;
if (adc_clk)
- fe_modify = 3963617280 / (adc_clk << 3);
+ fe_modify = 3963617280UL / (adc_clk << 3);
dtmb_set_fe_config_modify(fe_modify);
int tuner_get_ch_power(struct dvb_frontend *fe)
{
int strength = 0;
+#ifdef CONFIG_AMLOGIC_DVB_COMPAT
s16 strengtha = 0;
+#endif
if (fe != NULL) {
#if 0
else
PR_INFO("no tuner get_strength\n");
#endif
+#ifdef CONFIG_AMLOGIC_DVB_COMPAT
if (fe->ops.tuner_ops.get_strength) {
fe->ops.tuner_ops.get_strength(fe, &strengtha);
strength = (int)strengtha;
} else {
PR_INFO("no tuner get_strength\n");
}
+#endif
}
{
int strength = 0;
+#ifdef CONFIG_AMLOGIC_DVB_COMPAT
s16 strengtha = 0;
+#endif
struct dvb_frontend *fe;
fe = aml_get_fe();
+#ifdef CONFIG_AMLOGIC_DVB_COMPAT
if (fe != NULL) {
-
if (fe->ops.tuner_ops.get_strength) {
fe->ops.tuner_ops.get_strength(fe, &strengtha);
//strength = strengtha - 256;
PR_INFO("no tuner get_strength\n");
}
}
-
+#endif
return strength;
}
{
u16 strength = 0;
+#ifdef CONFIG_AMLOGIC_DVB_COMPAT
s16 strengtha = 0;
+#endif
struct dvb_frontend *fe;
fe = aml_get_fe();
+#ifdef CONFIG_AMLOGIC_DVB_COMPAT
if (fe != NULL) {
if (fe->ops.tuner_ops.get_strength) {
PR_INFO("no tuner get_strength\n");
}
}
-
+#endif
return strength;
}
static bool osd_rdma_done;
static int osd_rdma_handle = -1;
static struct rdma_table_item *rdma_temp_tbl;
+void *memcpy(void *dest, const void *src, size_t len);
static int osd_rdma_init(void);
+#ifdef CONFIG_ARM64
static inline void osd_rdma_mem_cpy(struct rdma_table_item *dst,
struct rdma_table_item *src, u32 len)
{
: "r" (src), "r" (dst), "r" (len)
: "x5", "x6");
}
+#else
+inline void osd_rdma_mem_cpy(struct rdma_table_item *dst,
+ struct rdma_table_item *src, u32 len)
+{
+ memcpy(dst, src, len);
+}
+#endif
static inline void reset_rdma_table(void)
{
if ((item_count * (sizeof(struct rdma_table_item))) >
RDMA_TEMP_TBL_SIZE) {
- pr_info("more memory: allocate(%x), expect(%lx)\n",
+ pr_info("more memory: allocate(%x), expect(%zu)\n",
(unsigned int) RDMA_TEMP_TBL_SIZE,
sizeof(struct rdma_table_item) *
item_count);
context = (struct ge2d_context_s *) filp->private_data;
argp = (void __user *)args;
switch (cmd) {
+#ifdef CONFIG_COMPAT
case PICDEC_IOC_FRAME_RENDER32:
aml_pr_info(1, "PICDEC_IOC_FRAME_RENDER32\n");
{
render_frame_block();
}
break;
+#endif
case PICDEC_IOC_FRAME_RENDER:
aml_pr_info(1, "PICDEC_IOC_FRAME_RENDER\n");
if (copy_from_user
int rotate;
};
+#ifdef CONFIG_COMPAT
struct compat_source_input_s {
compat_uptr_t input;
int frame_width;
int rotate;
};
+#define PICDEC_IOC_FRAME_RENDER32 _IOW(PICDEC_IOC_MAGIC, 0x00, \
+struct compat_source_input_s)
+
+#endif
+
#define PICDEC_IOC_MAGIC 'P'
#define PICDEC_IOC_FRAME_RENDER _IOW(PICDEC_IOC_MAGIC, 0x00, \
struct source_input_s)
#define PICDEC_IOC_FRAME_POST _IOW(PICDEC_IOC_MAGIC, 0X01, unsigned int)
#define PICDEC_IOC_CONFIG_FRAME _IOW(PICDEC_IOC_MAGIC, 0X02, unsigned int)
-#define PICDEC_IOC_FRAME_RENDER32 _IOW(PICDEC_IOC_MAGIC, 0x00, \
-struct compat_source_input_s)
-
void stop_picdec_task(void);
int picdec_buffer_init(void);
void get_picdec_buf_info(resource_size_t *start, unsigned int *size,
static inline unsigned int bl_do_div(unsigned long num, unsigned int den)
{
- unsigned long ret = num;
+ unsigned long long ret = num;
do_div(ret, den);
return (unsigned int)ret;
frame.fp = (unsigned long)__builtin_frame_address(0);
frame.sp = current_stack_pointer;
frame.pc = _RET_IP_;
+#ifdef CONFIG_ARM64
#ifdef CONFIG_FUNCTION_GRAPH_TRACER
frame.graph = current->curr_ret_stack;
#endif
+#endif
while (1) {
#ifdef CONFIG_ARM64
ret = unwind_frame(current, &frame);
config AMLOGIC_PINCTRL_MESON_GXL
bool "Meson gxl SoC pinctrl driver"
- depends on ARM64
+ depends on ARM64 || ARM64_A32
select AMLOGIC_PINCTRL_MESON8_PMX
default n
config AMLOGIC_PINCTRL_MESON_AXG
bool "Meson axg SoC pinctrl driver"
- depends on ARM64
+ depends on ARM64 || ARM64_A32
select AMLOGIC_PINCTRL_MESON_AXG_PMX
default n
config AMLOGIC_PINCTRL_MESON_TXLX
bool "Meson txlx SoC pinctrl driver"
- depends on ARM64
+ depends on ARM64 || ARM64_A32
select AMLOGIC_PINCTRL_MESON8_PMX
default n
config AMLOGIC_PINCTRL_MESON_G12A
bool "Meson g12a SoC pinctrl driver"
- depends on ARM64
+ depends on ARM64 || ARM64_A32
select AMLOGIC_PINCTRL_MESON_AXG_PMX
select AMLOGIC_PINCONF_MESON_G12A
default n
config AMLOGIC_PINCTRL_MESON_TXL
bool "Meson txl SoC pinctrl driver"
- depends on ARM64
+ depends on ARM64 || ARM64_A32
select AMLOGIC_PINCTRL_MESON8_PMX
default n
depends on CPU_IDLE
depends on PM_WAKELOCKS
depends on PM
- depends on ARM64
+ depends on ARM64 || ARM64_A32
default n
help
This is the Amlogic suspend driver for 64bit family chips
#include <asm/suspend.h>
#include <linux/of_address.h>
#include <linux/input.h>
+#include <linux/cpuidle.h>
#include <asm/cpuidle.h>
#include <uapi/linux/psci.h>
#include <linux/arm-smccc.h>
int "Warn for stack frames larger than (needs gcc 4.4)"
range 0 8192
default 2048 if GCC_PLUGIN_LATENT_ENTROPY
+ default 2048 if ARM64_A32
default 1024 if !64BIT
default 2048 if 64BIT
help