Lines Matching refs:chan
63 #define LPC_READ_REG(chan, r) inl((chan)->reg + (r)) argument
64 #define LPC_WRITE_REG(chan, r, val) outl((val), (chan)->reg + (r)) argument
68 struct gma_i2c_chan *chan = data; in get_clock() local
71 val = LPC_READ_REG(chan, RGIO); in get_clock()
73 LPC_WRITE_REG(chan, RGIO, val); in get_clock()
74 LPC_READ_REG(chan, RGLVL); in get_clock()
75 val = (LPC_READ_REG(chan, RGLVL) & GPIO_CLOCK) ? 1 : 0; in get_clock()
82 struct gma_i2c_chan *chan = data; in get_data() local
85 val = LPC_READ_REG(chan, RGIO); in get_data()
87 LPC_WRITE_REG(chan, RGIO, val); in get_data()
88 LPC_READ_REG(chan, RGLVL); in get_data()
89 val = (LPC_READ_REG(chan, RGLVL) & GPIO_DATA) ? 1 : 0; in get_data()
96 struct gma_i2c_chan *chan = data; in set_clock() local
100 val = LPC_READ_REG(chan, RGIO); in set_clock()
102 LPC_WRITE_REG(chan, RGIO, val); in set_clock()
104 val = LPC_READ_REG(chan, RGIO); in set_clock()
106 LPC_WRITE_REG(chan, RGIO, val); in set_clock()
107 val = LPC_READ_REG(chan, RGLVL); in set_clock()
109 LPC_WRITE_REG(chan, RGLVL, val); in set_clock()
115 struct gma_i2c_chan *chan = data; in set_data() local
119 val = LPC_READ_REG(chan, RGIO); in set_data()
121 LPC_WRITE_REG(chan, RGIO, val); in set_data()
123 val = LPC_READ_REG(chan, RGIO); in set_data()
125 LPC_WRITE_REG(chan, RGIO, val); in set_data()
126 val = LPC_READ_REG(chan, RGLVL); in set_data()
128 LPC_WRITE_REG(chan, RGLVL, val); in set_data()
135 struct gma_i2c_chan *chan; in oaktrail_lvds_i2c_init() local
138 chan = kzalloc(sizeof(struct gma_i2c_chan), GFP_KERNEL); in oaktrail_lvds_i2c_init()
139 if (!chan) in oaktrail_lvds_i2c_init()
142 chan->drm_dev = dev; in oaktrail_lvds_i2c_init()
143 chan->reg = dev_priv->lpc_gpio_base; in oaktrail_lvds_i2c_init()
144 strscpy(chan->base.name, "gma500 LPC", sizeof(chan->base.name)); in oaktrail_lvds_i2c_init()
145 chan->base.owner = THIS_MODULE; in oaktrail_lvds_i2c_init()
146 chan->base.algo_data = &chan->algo; in oaktrail_lvds_i2c_init()
147 chan->base.dev.parent = dev->dev; in oaktrail_lvds_i2c_init()
148 chan->algo.setsda = set_data; in oaktrail_lvds_i2c_init()
149 chan->algo.setscl = set_clock; in oaktrail_lvds_i2c_init()
150 chan->algo.getsda = get_data; in oaktrail_lvds_i2c_init()
151 chan->algo.getscl = get_clock; in oaktrail_lvds_i2c_init()
152 chan->algo.udelay = 100; in oaktrail_lvds_i2c_init()
153 chan->algo.timeout = usecs_to_jiffies(2200); in oaktrail_lvds_i2c_init()
154 chan->algo.data = chan; in oaktrail_lvds_i2c_init()
156 i2c_set_adapdata(&chan->base, chan); in oaktrail_lvds_i2c_init()
158 set_data(chan, 1); in oaktrail_lvds_i2c_init()
159 set_clock(chan, 1); in oaktrail_lvds_i2c_init()
162 ret = i2c_bit_add_bus(&chan->base); in oaktrail_lvds_i2c_init()
164 kfree(chan); in oaktrail_lvds_i2c_init()
168 return chan; in oaktrail_lvds_i2c_init()